- test: apidoc
- test: coverage
- test: dist
- - test: nm
- test: nm-no-glib
- test: fuzzing
compiler: clang
path: config.log
retention-days: 5
+ bionic:
+ needs: pre-check
+ if: ${{ needs.pre-check.outputs.should_skip != 'true' }}
+ runs-on: ubuntu-18.04
+ strategy:
+ matrix:
+ test: [ all ]
+ compiler: [ gcc, clang ]
+ include:
+ - test: nm
+ env:
+ LEAK_DETECTIVE: ${{ matrix.leak-detective || 'no' }}
+ CC: ${{ matrix.compiler || 'gcc' }}
+ TEST: ${{ matrix.test }}
+ UBUNTU_BIONIC: yes
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/cache@v2
+ with:
+ path: ~/.ccache
+ key: ccache-bionic-${{ env.CC }}-${{ matrix.test }}-${{ github.ref }}:${{ github.sha }}
+ restore-keys: |
+ ccache-bionic-${{ env.CC }}-${{ matrix.test }}-${{ github.ref }}:
+ ccache-bionic-${{ env.CC }}-${{ matrix.test }}-
+ ccache-bionic-${{ env.CC }}-
+ - run: |
+ sudo apt-get install -qq ccache
+ echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
+ ccache -z
+ - uses: ./.github/actions/default
+ - run: ccache -s
+ - if: ${{ failure() }}
+ uses: actions/upload-artifact@v2
+ with:
+ name: Logs ${{ github.job }}
+ path: config.log
+ retention-days: 5
+
xenial:
needs: pre-check
if: ${{ needs.pre-check.outputs.should_skip != 'true' }}
LEAK_DETECTIVE: ${{ matrix.leak-detective || 'no' }}
CC: ${{ matrix.compiler || 'gcc' }}
TEST: ${{ matrix.test }}
- UBUNTU_XENIAL: yes
# this is the default with newer versions and fixes builds with clang
CCACHE_CPP2: true
steps:
: ${DEPS_BUILD_DIR=$BUILD_DIR/..}
: ${DEPS_PREFIX=/usr/local}
+if [ -e /etc/os-release ]; then
+ . /etc/os-release
+elif [ -e /usr/lib/os-release ]; then
+ . /usr/lib/os-release
+fi
+
TARGET=check
DEPS="libgmp-dev"
gcrypt)
CONFIG="--disable-defaults --enable-pki --enable-gcrypt --enable-pkcs1"
export TESTS_PLUGINS="test-vectors pkcs1 gcrypt!"
- DEPS="libgcrypt11-dev"
+ if [ "$ID" = "ubuntu" -a "$VERSION_ID" = "20.04" ]; then
+ DEPS="libgcrypt20-dev"
+ else
+ DEPS="libgcrypt11-dev"
+ fi
;;
botan)
CONFIG="--disable-defaults --enable-pki --enable-botan --enable-pem"
DEPS="$DEPS lcov"
fi
# Botan requires newer compilers, so disable it on Ubuntu 16.04
- if test -n "$UBUNTU_XENIAL"; then
+ if [ "$ID" = "ubuntu" -a "$VERSION_ID" = "16.04" ]; then
CONFIG="$CONFIG --disable-botan"
fi
DEPS="$DEPS libcurl4-gnutls-dev libsoup2.4-dev libunbound-dev libldns-dev
libmysqlclient-dev libsqlite3-dev clearsilver-dev libfcgi-dev
libldap2-dev libpcsclite-dev libpam0g-dev binutils-dev libnm-dev
- libgcrypt20-dev libjson-c-dev iptables-dev python-pip libtspi-dev
- libsystemd-dev"
+ libgcrypt20-dev libjson-c-dev python3-pip libtspi-dev libsystemd-dev"
+ if [ "$ID" = "ubuntu" -a "$VERSION_ID" = "20.04" ]; then
+ DEPS="$DEPS libiptc-dev"
+ else
+ DEPS="$DEPS iptables-dev"
+ fi
PYDEPS="tox"
if test "$1" = "build-deps"; then
- if test -z "$UBUNTU_XENIAL"; then
+ if [ "$ID" != "ubuntu" -o "$VERSION_ID" != "16.04" ]; then
build_botan
fi
build_wolfssl
exit $?
;;
pydeps)
- test -z "$PYDEPS" || pip -q install --user $PYDEPS
+ test -z "$PYDEPS" || pip3 -q install --user $PYDEPS
exit $?
;;
build-deps)