diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7268a53..70bdafe 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -31,54 +31,6 @@ jobs: - name: Build run: cargo build --verbose - build-debian-12: - runs-on: ubuntu-latest - container: debian:12 - - steps: - - uses: actions/checkout@v4 - - name: Install dependencies - run: | - apt-get update - apt-get -y install build-essential dpkg-dev ca-certificates sudo curl - apt-get -y build-dep . - - uses: actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: ${{ github.event.schedule && 'nightly' || 'stable' }} - - name: Build - run: cargo build --verbose - - build-debian-13: - runs-on: ubuntu-latest - container: debian:trixie - - steps: - - uses: actions/checkout@v4 - - name: Install dependencies - run: | - apt-get update - apt-get -y install build-essential dpkg-dev ca-certificates sudo curl - apt-get -y build-dep . - - uses: actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: ${{ github.event.schedule && 'nightly' || 'stable' }} - - name: Build - run: cargo build --verbose - - clippy: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - uses: actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: ${{ github.event.schedule && 'nightly' || 'stable' }} - - run: rustup component add clippy - - name: rust-clippy-check - uses: actions-rs/clippy-check@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - build-debian-package-11: runs-on: ubuntu-latest @@ -109,139 +61,30 @@ jobs: ./* !./clone/** - build-debian-package-12: - runs-on: ubuntu-latest - container: debian:12 - - steps: - - uses: actions/checkout@v4 - with: - path: clone - - name: Install dependencies - run: | - apt-get update - apt-get install -y build-essential dpkg-dev ca-certificates sudo curl - cd clone - apt-get build-dep -y . - - uses: actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: ${{ github.event.schedule && 'nightly' || 'stable' }} - - name: Build package - run: | - debian/rules vendor - dpkg-buildpackage --no-sign - working-directory: clone - - uses: actions/upload-artifact@v3 - with: - name: deb-package-debian-12 - path: | - ./* - !./clone/** - - build-debian-package-13: - runs-on: ubuntu-latest - container: debian:trixie - - steps: - - uses: actions/checkout@v4 - with: - path: clone - - name: Install dependencies - run: | - apt-get update - apt-get install -y build-essential dpkg-dev ca-certificates sudo curl - cd clone - apt-get build-dep -y . - - uses: actions-rust-lang/setup-rust-toolchain@v1 - with: - toolchain: ${{ github.event.schedule && 'nightly' || 'stable' }} - - name: Build package - run: | - debian/rules vendor - dpkg-buildpackage --no-sign - working-directory: clone - - uses: actions/upload-artifact@v3 - with: - name: deb-package-debian-13 - path: | - ./* - !./clone/** - - run-ci-ubuntu-latest: - runs-on: ubuntu-latest - needs: [build-debian-package-11, build-debian-package-12, build-debian-package-13] - - steps: - - uses: actions/checkout@v4 - - uses: actions/download-artifact@v3 - with: - name: deb-package-debian-12 - - name: CI - run: ci/test.sh - env: - HAVE_SYSTEMD: "1" - run-ci-debian-11: runs-on: ubuntu-latest - container: debian:11 + #container: debian:11 needs: [build-debian-package-11] steps: - uses: actions/checkout@v4 - name: Install dependencies run: | - apt-get update - apt-get -y install build-essential + sudo apt-get update + sudo apt-get -y install build-essential systemd-container debootstrap - uses: actions/download-artifact@v3 with: name: deb-package-debian-11 - name: CI - run: ci/test.sh + run: ci/test_nspawn.sh env: HAVE_SYSTEMD: "0" - run-ci-debian-12: - runs-on: ubuntu-latest - container: debian:12 - needs: [build-debian-package-12] - - steps: - - uses: actions/checkout@v4 - - name: Install dependencies - run: | - apt-get update - apt-get -y install build-essential - - uses: actions/download-artifact@v3 - with: - name: deb-package-debian-12 - - name: CI - run: ci/test.sh - env: - HAVE_SYSTEMD: "0" - - run-ci-debian-13: - runs-on: ubuntu-latest - container: debian:trixie - needs: [build-debian-package-13] - - steps: - - uses: actions/checkout@v4 - - name: Install dependencies - run: | - apt-get update - apt-get -y install build-essential - - uses: actions/download-artifact@v3 - with: - name: deb-package-debian-13 - - name: CI - run: ci/test.sh - env: - HAVE_SYSTEMD: "0" create-release: runs-on: ubuntu-latest - needs: [run-ci-ubuntu-latest, run-ci-debian-11, run-ci-debian-12, run-ci-debian-13] + needs: [run-ci-debian-11] if: github.event.release steps: diff --git a/ci/test_nspawn.sh b/ci/test_nspawn.sh new file mode 100755 index 0000000..8d4b75a --- /dev/null +++ b/ci/test_nspawn.sh @@ -0,0 +1,26 @@ +#!/bin/bash -x +sudo debootstrap stable /stable-chroot http://deb.debian.org/debian/ +sudo dpkg -i nsncd*.deb +sleep 1 # Give it a moment to start up + +#docker pull debian:bullseye-slim + +sudo useradd nsncdtest +#sudo -c "echo 'nsncdtest (machine1,,), (machine2,,), (machine3,,)' >> /etc/netgroup" +#sudo -c "echo -e 'nsncdtest\t65000/tcp' >> /etc/services" +#sudo -c "echo -e 'nsncdtest\t65000/udp' >> /etc/services" + +sdns="sudo systemd-nspawn -q --bind-ro /var/run/nscd/socket:/var/run/nscd/socket -D /stable-chroot" + +rc=0 +${sdns} getent passwd nsncdtest || rc=1 +${sdns} getent netgroup nsncdtest || rc=1 +${sdns} getent netgroup nsncdtest || rc=1 +${sdns} getent services nsncdtest || rc=1 +${sdns} getent services nsncdtest/tcp || rc=1 +${sdns} getent services nsncdtest/udp || rc=1 +${sdns} getent services 65000/tcp || rc=1 +${sdns} getent services 65000/udp || rc=1 + +#docker run -it -v /run/nscd/socket:/run/nscd/socket debian:bullseye-slim 'getent passwd nsncdtest' +exit ${rc}