commit: e41af8d4c5cc22a5dd824e3ffe84000e9aef3480 Author: Arsen Arsenović <arsen <AT> aarsen <DOT> me> AuthorDate: Tue Jun 28 08:38:45 2022 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Tue Jul 12 06:33:20 2022 +0000 URL: https://gitweb.gentoo.org/proj/pax-utils.git/commit/?id=e41af8d4
gha: add muon to Linux test matrix Signed-off-by: Arsen Arsenović <arsen <AT> aarsen.me> Closes: https://github.com/gentoo/pax-utils/pull/7 Signed-off-by: Sam James <sam <AT> gentoo.org> .github/workflows/build-test-ci.yml | 38 ++++++++++++++++++++++++++++--------- meson_options.txt | 6 +++--- 2 files changed, 32 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build-test-ci.yml b/.github/workflows/build-test-ci.yml index 04d6fc5..e2b7e0e 100644 --- a/.github/workflows/build-test-ci.yml +++ b/.github/workflows/build-test-ci.yml @@ -17,26 +17,46 @@ jobs: matrix: os: [ubuntu-latest] cc: [gcc, clang] + bb: [meson, muon] + fail-fast: false runs-on: ${{ matrix.os }} env: CC: ${{ matrix.cc }} + BB: ${{ matrix.bb }} steps: - name: Install dependencies run: | sudo apt-get update sudo apt-get install -y python3-pyelftools python3-pip \ - libcap-dev libseccomp-dev ninja-build - sudo pip3 install meson + libcap-dev libseccomp-dev ninja-build \ + pkg-config + case "$BB" in + meson) + sudo pip3 install meson + ;; + muon) + wget https://muon.build/releases/muon-amd64-linux-static -O muon + chmod +x muon + sudo install -Dm755 muon /usr/local/bin/muon + ;; + esac - uses: actions/checkout@v2 - run: | - meson -Duse_libcap=enabled \ - -Duse_seccomp=true \ - -Dbuild_manpages=disabled \ - -Dtests=true \ - -Duse_fuzzing=true \ - build + export PKG_CONFIG_PATH="/usr/lib/$(uname -m)-linux-gnu/pkgconfig/" + case "$BB" in + muon) + alias ninja="muon samu" + ;; + esac + + "$BB" setup -Duse_libcap=enabled \ + -Duse_seccomp=true \ + -Dbuild_manpages=disabled \ + -Dtests=true \ + -Duse_fuzzing=true \ + build ninja -C build - ninja -C build test + ( cd build && "$BB" test; ) build-macos: strategy: diff --git a/meson_options.txt b/meson_options.txt index c96865d..04b51fe 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -4,14 +4,14 @@ option('lddtree_implementation', type : 'combo', option('use_libcap', type : 'feature', value : 'auto', description : 'Enable listing capabilities in pspax output (requires libcap)' ) -option('use_seccomp', type : 'boolean', value : 'true', +option('use_seccomp', type : 'boolean', value : true, description : 'Enable seccomp filters at runtime (does *not* require libseccomp, but does require kernel support)' ) option('build_manpages', type : 'feature', value : 'auto', description : 'Build manuals via DocBook (requires xmlto)') -option('tests', type : 'boolean', value : 'true' +option('tests', type : 'boolean', value : true, description : 'Enable testing (not guaranteed to work)' ) -option('use_fuzzing', type : 'boolean', value : 'true', +option('use_fuzzing', type : 'boolean', value : true, description : 'Also build LibFuzzer fuzzers as tests' )