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 libressl-tests: runs-on: ubuntu-20.04 strategy: matrix: libressl_versions: - { version: "v3.4.2", continue: true } - { version: "v3.1.5", continue: false } - { version: "v2.1.10", continue: false } valgrind: - { configure: '' , make: 'check' } - { configure: '--enable-valgrind' , make: 'check-valgrind' } name: LibreSSL tests continue-on-error: ${{ matrix.libressl_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 libressl env: LIBRESSL_COMMIT: ${{ matrix.libressl_versions.version }} run: | ./travis/before_script.sh - name: Build the library run: | ./bootstrap.sh ./configure ${{ matrix.valgrind.configure }} PKG_CONFIG_PATH="${HOME}/libressl/lib/pkgconfig" CFLAGS="-Werror -g3" --prefix="${HOME}/libressl" 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