Allow serializing SM state #262
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- master | |
- next | |
pull_request: | |
branches: [master] | |
jobs: | |
linux-tests: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
valgrind: | |
- { configure: '' , cflags: '', make: 'check' } | |
- { configure: '--enable-valgrind' , cflags: '-O2', make: 'check-valgrind' } | |
options: | |
- { configure: '' } | |
- { configure: '--without-libxml2' } | |
- { configure: '--with-libxml2' } | |
- { configure: '--with-gnutls' } | |
- { configure: '--disable-tls' } | |
- { configure: '--enable-cares' } | |
- { configure: '--disable-getrandom' } | |
- { configure: '--disable-static' } | |
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 ${{ matrix.valgrind.cflags }}" | |
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_5", continue: true, libressl: true } | |
- { version: "v3.9.2", continue: true, libressl: true } | |
- { version: "OPENBSD_7_4", continue: true, libressl: true } | |
- { version: "v3.8.4", continue: true, libressl: true } | |
- { version: "OPENBSD_7_3", continue: true, libressl: true } | |
- { version: "OPENBSD_7_2", 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.13", continue: false, libressl: false } | |
- { version: "openssl-3.1", continue: true, libressl: false } | |
- { version: "openssl-3.1.5", continue: false, libressl: false } | |
- { version: "openssl-3.2", continue: true, libressl: false } | |
- { version: "openssl-3.2.1", continue: false, libressl: false } | |
- { version: "openssl-3.3", continue: true, libressl: false } | |
- { version: "openssl-3.3.0", continue: false, libressl: false } | |
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 | |
PKG_CONFIG_PATH="${HOME}/xssl/lib/pkgconfig" ./configure CFLAGS="-Werror -g3" --prefix="${HOME}/xssl" | |
make -j$(nproc) | |
- name: Run tests | |
run: | | |
LD_LIBRARY_PATH="${HOME}/xssl/lib" make -j$(nproc) check | |
- name: Build the library with Valgrind enabled | |
run: | | |
./bootstrap.sh | |
PKG_CONFIG_PATH="${HOME}/xssl/lib/pkgconfig" ./configure --enable-valgrind CFLAGS="-Werror -g3" --prefix="${HOME}/xssl" | |
make -j$(nproc) | |
- name: Run tests with Valgrind enabled | |
run: | | |
LD_LIBRARY_PATH="${HOME}/xssl/lib" make -j$(nproc) check-valgrind | |
- 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 & bootstrap | |
run: | | |
sudo apt update | |
sudo apt install -y libtool pkg-config libexpat1-dev dash | |
./bootstrap.sh | |
- name: Check if configure works with non-bash shells | |
# https://github.com/actions/runner/issues/241 requires us to use this following line... | |
shell: 'script --return --quiet --command "bash {0}"' | |
run: | | |
[ "`CONFIG_SHELL=/bin/dash ./configure 2>&1 1>/dev/null | tee /dev/tty | wc -l`" = "0" ] | |
- name: Re-run configure with the default shell | |
run: | | |
./configure | |
- name: Try release & tests | |
run: | | |
make test-release | |
- name: Show logs from release build | |
if: ${{ !failure() }} | |
run: | | |
cat testbuild.log | |
- name: Error logs | |
if: ${{ failure() }} | |
run: | | |
cat testbuild.log || true | |
cat testerr.log || true | |
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 |