diff options
Diffstat (limited to '.github/workflows/test-next.yml')
| -rw-r--r-- | .github/workflows/test-next.yml | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/.github/workflows/test-next.yml b/.github/workflows/test-next.yml new file mode 100644 index 00000000..a7e9b9d6 --- /dev/null +++ b/.github/workflows/test-next.yml | |||
| @@ -0,0 +1,90 @@ | |||
| 1 | --- | ||
| 2 | name: Tests Debian:Testing and Fedora:Rawhide | ||
| 3 | |||
| 4 | on: | ||
| 5 | workflow_dispatch: | ||
| 6 | inputs: | ||
| 7 | debug_enabled: | ||
| 8 | type: boolean | ||
| 9 | description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)' | ||
| 10 | required: false | ||
| 11 | default: false | ||
| 12 | push: | ||
| 13 | branches-ignore: | ||
| 14 | - '*' | ||
| 15 | schedule: | ||
| 16 | # Run every week on Monday at 9:00 AM (UTC) | ||
| 17 | - cron: '0 9 * * 1' | ||
| 18 | |||
| 19 | jobs: | ||
| 20 | full-test: | ||
| 21 | name: Running unit and integrationt tests | ||
| 22 | runs-on: ubuntu-latest | ||
| 23 | strategy: | ||
| 24 | fail-fast: false | ||
| 25 | matrix: | ||
| 26 | distro: | ||
| 27 | - 'debian:testing' | ||
| 28 | include: | ||
| 29 | - distro: 'debian:testing' | ||
| 30 | prepare: .github/prepare_debian.sh | ||
| 31 | steps: | ||
| 32 | - name: Git clone repository | ||
| 33 | uses: actions/checkout@v6 | ||
| 34 | - name: Setup tmate session, see https://github.com/marketplace/actions/debugging-with-tmate | ||
| 35 | uses: mxschmitt/action-tmate@v3 | ||
| 36 | if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }} | ||
| 37 | - name: Run the tests on ${{ matrix.distro }} | ||
| 38 | run: | | ||
| 39 | docker volume create --driver local --opt type=tmpfs --opt device=tmpfs --opt o=size=100m,uid=1000 tmp-vol | ||
| 40 | docker run \ | ||
| 41 | -e NPTEST_ACCEPTDEFAULT=1 \ | ||
| 42 | -e NPTEST_CACHE="/src/.github/NPTest.cache" \ | ||
| 43 | -w /src -v ${PWD}:/src \ | ||
| 44 | --tmpfs /media/ramdisk1 \ | ||
| 45 | -v /var/run/utmp:/var/run/utmp \ | ||
| 46 | --mount source=tmp-vol,destination=/src,target=/media/ramdisk2 \ | ||
| 47 | ${{ matrix.distro }} \ | ||
| 48 | /bin/sh -c '${{ matrix.prepare }} && \ | ||
| 49 | tools/setup && \ | ||
| 50 | ./configure --enable-libtap && \ | ||
| 51 | make && \ | ||
| 52 | make test && \ | ||
| 53 | make dist && \ | ||
| 54 | tar zxf monitoring-plugins-*.tar.gz && \ | ||
| 55 | cd monitoring-plugins-*/ && \ | ||
| 56 | ./configure && \ | ||
| 57 | make' | ||
| 58 | docker container prune -f | ||
| 59 | docker volume prune -f | ||
| 60 | |||
| 61 | build-test: | ||
| 62 | name: Running rpm build test on ${{ matrix.distro }} | ||
| 63 | runs-on: ubuntu-latest | ||
| 64 | strategy: | ||
| 65 | fail-fast: false | ||
| 66 | matrix: | ||
| 67 | include: | ||
| 68 | - {"distro": "fedora:rawhide", "build": ".github/mock.sh"} | ||
| 69 | steps: | ||
| 70 | - name: Git clone repository | ||
| 71 | uses: actions/checkout@v6 | ||
| 72 | - name: Setup tmate session, see https://github.com/marketplace/actions/debugging-with-tmate | ||
| 73 | uses: mxschmitt/action-tmate@v3 | ||
| 74 | if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }} | ||
| 75 | - name: Run the tests on ${{ matrix.distro }} | ||
| 76 | run: | | ||
| 77 | docker volume create --driver local --opt type=tmpfs --opt device=tmpfs --opt o=size=100m,uid=1000 tmp-vol | ||
| 78 | docker run \ | ||
| 79 | --privileged=true \ | ||
| 80 | -e NPTEST_ACCEPTDEFAULT=1 \ | ||
| 81 | -e NPTEST_CACHE="/src/.github/NPTest.cache" \ | ||
| 82 | -w /src -v ${PWD}:/src \ | ||
| 83 | --tmpfs /media/ramdisk1 \ | ||
| 84 | -v /var/run/utmp:/var/run/utmp \ | ||
| 85 | --mount source=tmp-vol,destination=/src,target=/media/ramdisk2 \ | ||
| 86 | ${{ matrix.distro }} \ | ||
| 87 | /bin/sh -c '${{ matrix.build }} && \ | ||
| 88 | ls -la' | ||
| 89 | docker container prune -f | ||
| 90 | docker volume prune -f | ||
