name: CI on: push: branches: [master] pull_request: branches: [master] jobs: linux-tests: runs-on: ubuntu-20.04 strategy: matrix: valgrind: - { configure: '' , make: 'check' } - { configure: '--enable-valgrind' , make: 'check-valgrind' } options: - { configure: '' } - { configure: '--without-libxml2' } - { configure: '--with-libxml2' } - { configure: '--with-gnutls' } - { configure: '--disable-tls' } - { configure: '--enable-cares' } - { configure: '--disable-getrandom' } name: Regular Tests steps: - uses: actions/checkout@v2 - name: install dependencies run: | sudo apt update sudo apt install -y libtool pkg-config libexpat1-dev libxml2-dev libssl-dev libgnutls28-dev libc-ares-dev valgrind - name: Build the library run: | ./bootstrap.sh ./configure ${{ matrix.options.configure }} ${{ matrix.valgrind.configure }} CFLAGS="-Werror -g3" make -j$(nproc) - name: Run tests run: | make -j$(nproc) ${{ matrix.valgrind.make }} - name: Error logs if: ${{ failure() }} run: | cat test-suite*.log || true xssl-tests: runs-on: ubuntu-22.04 strategy: matrix: xssl_versions: - { version: "master", continue: true, libressl: true } - { version: "OPENBSD_7_1", continue: true, libressl: true } # https://github.com/libressl-portable/portable/issues/760 # - { version: "v3.5.2", continue: true, libressl: true } - { version: "OPENBSD_7_0", continue: true, libressl: true } # OPENBSD_7_0 is basically the "fixed v3.4.3" # - { version: "v3.4.3", continue: true, libressl: true } - { version: "v3.4.2", continue: true, libressl: true } - { version: "OPENBSD_6_9", continue: true, libressl: true } - { version: "v3.1.5", continue: true, libressl: true } - { version: "v2.1.10", continue: true, libressl: true } - { version: "openssl-3.0", continue: true, libressl: false } - { version: "openssl-3.0.4", continue: false, libressl: false } valgrind: - { configure: '' , make: 'check' } - { configure: '--enable-valgrind' , make: 'check-valgrind' } name: xSSL tests continue-on-error: ${{ matrix.xssl_versions.continue }} steps: - uses: actions/checkout@v2 - name: install dependencies run: | sudo apt update sudo apt install -y libtool pkg-config libexpat1-dev valgrind - name: build&install the TLS stack env: XSSL_COMMITISH: ${{ matrix.xssl_versions.version }} LIBRESSL: ${{ matrix.xssl_versions.libressl }} run: | ./travis/before_script.sh - name: Build the library run: | ./bootstrap.sh ./configure ${{ matrix.valgrind.configure }} PKG_CONFIG_PATH="${HOME}/xssl/lib/pkgconfig" CFLAGS="-Werror -g3" --prefix="${HOME}/xssl" make -j$(nproc) - name: Run tests run: | make -j$(nproc) ${{ matrix.valgrind.make }} - name: Error logs if: ${{ failure() }} run: | cat test-suite*.log || true release-test: runs-on: ubuntu-20.04 name: Check if release would work steps: - uses: actions/checkout@v2 - name: install dependencies run: | sudo apt update sudo apt install -y libtool pkg-config libexpat1-dev - name: Setup the library run: | ./bootstrap.sh ./configure - name: Try release & tests run: | make test-release - name: Show logs from release build if: ${{ !failure() }} run: | cat testbuild.log code-style: runs-on: ubuntu-20.04 name: Check coding style continue-on-error: true steps: - uses: actions/checkout@v2 - name: install dependencies run: | sudo apt update sudo apt install -y libtool pkg-config libexpat1-dev libxml2-dev libssl-dev libgnutls28-dev libc-ares-dev dos2unix - name: Configure run: | ./bootstrap.sh ./configure - name: Check style run: | make format git diff --exit-code