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:
- name: Prepare the system
run: |
sh .ci/test/prepare.sh
+ update-binfmts --enable
rm -f /dev/net/tun
- name: Run tests with default settings
- 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()
- 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
- 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:
- 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
- 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
macos:
runs-on: macos-latest
- timeout-minutes: 15
+ timeout-minutes: 20
steps:
- name: Checkout code
- 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
windows:
runs-on: windows-latest
- timeout-minutes: 20
+ timeout-minutes: 30
steps:
- name: Install msys2
# 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
mingw-w64-x86_64-miniupnpc
mingw-w64-x86_64-nsis
git
- netcat
+ openbsd-netcat
procps
- name: Checkout code
- 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