X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=.github%2Fworkflows%2Ftest.yml;h=b5392ff2643dfe1681e74b555021c68ecb8e3c50;hb=e1d5459339d7417cda45a7fa0d3c47db555ae6a9;hp=05670b7487679577a233c727f1b45847d91b2e0e;hpb=7619f84393f824a84e20e03167304b27d3581ac0;p=tinc diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 05670b74..b5392ff2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,16 +10,16 @@ on: jobs: cross: runs-on: ubuntu-latest - timeout-minutes: 15 + timeout-minutes: 30 strategy: fail-fast: false matrix: arch: - armhf - - mips + - mipsel container: - image: debian:stable + image: debian:bullseye options: --privileged steps: @@ -32,6 +32,7 @@ jobs: - name: Prepare the system run: | sh .ci/test/prepare.sh + update-binfmts --enable rm -f /dev/net/tun - name: Run tests with default settings @@ -39,17 +40,21 @@ jobs: - name: Run tests without legacy protocol run: sudo -u build CI=1 HOST=${{ matrix.arch }} sh .ci/test/run.sh nolegacy + if: always() + + - name: Run tests with libgcrypt + run: sudo -u build CI=1 HOST=${{ matrix.arch }} sh .ci/test/run.sh gcrypt - name: Upload test results uses: actions/upload-artifact@v2 with: - name: tests_cross_${{ env.ARTIFACT }} + name: tests_cross_${{ matrix.arch }} path: /tmp/logs/tests.*.tar.gz if: always() static-analysis: runs-on: ubuntu-latest - timeout-minutes: 10 + timeout-minutes: 30 steps: - name: Checkout code uses: actions/checkout@v1 @@ -110,7 +115,7 @@ jobs: sanitizer: runs-on: ubuntu-latest - timeout-minutes: 10 + timeout-minutes: 30 strategy: fail-fast: false matrix: @@ -128,29 +133,26 @@ jobs: - name: Install deps run: sudo sh .ci/deps.sh - - name: Configure and compile - shell: bash - run: bash .ci/sanitizers/build.sh - env: - CC: clang-12 + - name: Run tests with OpenSSL 3 + run: bash .ci/sanitizers/run.sh openssl3 - - name: Run tests - run: bash .ci/sanitizers/run.sh + - name: Sanitize tests with default settings + run: bash .ci/sanitizers/run.sh default - - name: Archive test results - run: sudo tar -c -z -f test-results.tar.gz test/ sanitizer/ + - name: Sanitize tests without legacy protocol + run: bash .ci/sanitizers/run.sh nolegacy if: always() - name: Upload test results uses: actions/upload-artifact@v2 with: name: tests_sanitizer_${{ matrix.sanitizer }} - path: test-results.tar.gz + path: /tmp/logs/tests.*.tar.gz if: always() linux: runs-on: ubuntu-latest - timeout-minutes: 20 + timeout-minutes: 30 strategy: fail-fast: false matrix: @@ -159,7 +161,8 @@ jobs: - centos:7 # aka RHEL 7 - almalinux:8 # aka RHEL 8 - fedora - - debian:stable + - debian:buster + - debian:bullseye - debian:testing - ubuntu # current LTS - ubuntu:rolling # latest @@ -181,11 +184,18 @@ jobs: - name: Create a non-privileged user run: sh .ci/test/prepare.sh + - name: Run tests with OpenSSL 3 + run: sudo -u build CI=1 sh .ci/test/run.sh openssl3 + - name: Run tests with default settings run: sudo -u build CI=1 sh .ci/test/run.sh default - name: Run tests without legacy protocol run: sudo -u build CI=1 sh .ci/test/run.sh nolegacy + if: always() + + - name: Run tests with libgcrypt + run: sudo -u build CI=1 sh .ci/test/run.sh gcrypt - name: Upload test results uses: actions/upload-artifact@v2 @@ -243,7 +253,7 @@ jobs: macos: runs-on: macos-latest - timeout-minutes: 15 + timeout-minutes: 20 steps: - name: Checkout code @@ -255,13 +265,12 @@ jobs: - name: Run tests with default settings run: sh .ci/test/run.sh default - - name: Run clang-tidy - run: | - export PATH="$PATH:$(brew --prefix llvm)/bin:$HOME/Library/Python/3.9/bin" - sh .ci/tidy/run.sh - - name: Run tests without legacy protocol run: sh .ci/test/run.sh nolegacy + if: always() + + - name: Run tests with libgcrypt + run: sh .ci/test/run.sh gcrypt - name: Upload test results uses: actions/upload-artifact@v2 @@ -272,7 +281,7 @@ jobs: windows: runs-on: windows-latest - timeout-minutes: 20 + timeout-minutes: 30 steps: - name: Install msys2 @@ -282,8 +291,11 @@ jobs: # https://packages.msys2.org/package/ install: >- base-devel + autoconf-wrapper + automake-wrapper mingw-w64-x86_64-gcc mingw-w64-x86_64-openssl + mingw-w64-x86_64-libgcrypt mingw-w64-x86_64-zlib mingw-w64-x86_64-lzo2 mingw-w64-x86_64-lz4 @@ -291,7 +303,7 @@ jobs: mingw-w64-x86_64-miniupnpc mingw-w64-x86_64-nsis git - netcat + openbsd-netcat procps - name: Checkout code @@ -315,6 +327,11 @@ jobs: - name: Run tests without legacy protocol shell: msys2 {0} run: sh .ci/test/run.sh nolegacy + if: always() + + - name: Run tests with libgcrypt + shell: msys2 {0} + run: sh .ci/test/run.sh gcrypt - name: Upload test results uses: actions/upload-artifact@v2