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'
 )

Reply via email to