From: Guus Sliepen Date: Sat, 4 Apr 2026 15:35:43 +0000 (+0200) Subject: Use muon packaged by distributions X-Git-Url: https://www.tinc-vpn.org/git/?a=commitdiff_plain;h=5c1d28bdd95a5f7be9998e0bc7685a16b483a827;p=tinc Use muon packaged by distributions Alpine and Debian have muon packages nowadays. Use an Alpine image in the CI pipeline for testing muon. --- diff --git a/.ci/deps.sh b/.ci/deps.sh index debb3d44..e57231a7 100755 --- a/.ci/deps.sh +++ b/.ci/deps.sh @@ -9,7 +9,8 @@ deps_linux_alpine() { apk add \ git pkgconf gcc linux-headers shadow sudo libgcrypt-dev gzip \ - openssl-dev zlib-dev lzo-dev ncurses-dev readline-dev musl-dev lz4-dev vde2-dev cmocka-dev + openssl-dev zlib-dev lzo-dev ncurses-dev readline-dev musl-dev lz4-dev vde2-dev cmocka-dev \ + "$@" if [ -z "$SKIP_MESON" ]; then apk add meson diff --git a/.ci/muon/run.sh b/.ci/muon/run.sh index 1fcaa694..c2a74213 100755 --- a/.ci/muon/run.sh +++ b/.ci/muon/run.sh @@ -5,54 +5,19 @@ # samurai (a C reimplementation of the ninja build tool), # and then use both to build tinc. -set -euo pipefail - -git_samurai=https://github.com/michaelforney/samurai -git_muon=https://git.sr.ht/~lattis/muon -prefix=/opt/tinc_muon - -header() { - echo >&2 '################################################################################' - echo >&2 "# $*" - echo >&2 '################################################################################' -} - -header 'Try to make sure Python is missing' -python --version && exit 1 -python3 --version && exit 1 - -header 'Fetch and build samurai' - -git clone --depth=1 $git_samurai ~/samurai -pushd ~/samurai -make -j"$(nproc)" -make install -popd - -header 'Fetch and build muon' - -git clone --depth=1 $git_muon ~/muon -pushd ~/muon -./bootstrap.sh build -./build/muon-bootstrap setup build -./build/muon-bootstrap -C build samu -./build/muon -C build install -popd - -header 'Setup build directory' -muon setup -D prefix=$prefix -D systemd=disabled build_muon -samu -C build_muon - -header 'Install tinc' -muon -C build_muon install - -header 'Run smoke tests' -$prefix/sbin/tinc --version -$prefix/sbin/tincd --version -$prefix/sbin/tinc -c /tmp/muon_node </dev/null; then + MUON=muon +elif muon-meson version >/dev/null; then + MUON=muon-meson +else + echo 'Muon not found' >&2 + exit 1 +fi + +$MUON setup "$dir" +$MUON -C "$dir" test basic.py diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f3fb2ee2..57edefa0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -61,7 +61,7 @@ jobs: runs-on: ubuntu-24.04 timeout-minutes: 20 container: - image: debian:stable-slim + image: alpine:latest env: CI: 1 @@ -70,7 +70,7 @@ jobs: uses: actions/checkout@v6 - name: Install dependencies - run: SKIP_MESON=1 .ci/deps.sh libpkgconf-dev + run: SKIP_MESON=1 .ci/deps.sh muon - name: Compatibility with muon run: .ci/muon/run.sh