diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2bb75e6..8090fcf 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,33 +11,36 @@ jobs: runs-on: ubuntu-20.04 strategy: matrix: - configure_options: - - "" - - "--without-libxml2" - - "--with-libxml2" - - "--with-gnutls" - - "--disable-tls" - - "--enable-cares" - - "--disable-getrandom" + 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 + 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.configure_options }} CFLAGS="-Werror -g3" - make -j5 + ./configure ${{ matrix.options.configure }} ${{ matrix.valgrind.configure }} CFLAGS="-Werror -g3" + make -j$(nproc) - name: Run tests run: | - make check + make -j$(nproc) ${{ matrix.valgrind.make }} - name: Error logs if: ${{ failure() }} run: | - cat test-suite.log || true + cat test-suite*.log || true libressl-tests: runs-on: ubuntu-20.04 @@ -47,6 +50,9 @@ jobs: - { 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: @@ -54,7 +60,7 @@ jobs: - name: install dependencies run: | sudo apt update - sudo apt install -y libtool pkg-config libexpat1-dev + sudo apt install -y libtool pkg-config libexpat1-dev valgrind - name: build&install libressl env: LIBRESSL_COMMIT: ${{ matrix.libressl_versions.version }} @@ -63,15 +69,15 @@ jobs: - name: Build the library run: | ./bootstrap.sh - ./configure PKG_CONFIG_PATH="${HOME}/libressl/lib/pkgconfig" CFLAGS="-Werror -g3" --prefix="${HOME}/libressl" - make -j5 + ./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 check + make -j$(nproc) ${{ matrix.valgrind.make }} - name: Error logs if: ${{ failure() }} run: | - cat test-suite.log || true + cat test-suite*.log || true release-test: runs-on: ubuntu-20.04