--- name: build on: push: paths-ignore: - '**.md' pull_request: paths-ignore: - '**.md' jobs: linux: runs-on: ubuntu-latest continue-on-error: ${{ ! matrix.stable }} strategy: matrix: compiler: - gcc - clang os: - fedora:latest - quay.io/centos/centos:stream9 - quay.io/centos/centos:stream8 - debian:testing - debian:latest - ubuntu:rolling - ubuntu:jammy - ubuntu:focal stable:: [true] include: - compiler: gcc os: quay.io/fedora/fedora:rawhide stable: false - compiler: clang os: quay.io/fedora/fedora:rawhide stable: false - compiler: gcc os: ubuntu:devel stable: false - compiler: clang os: ubuntu:devel stable: false steps: - uses: actions/checkout@v4 - name: Show OS information run: | cat /etc/os-release 2>/dev/null || echo /etc/os-release not available - name: Install build dependencies run: bash .github/workflows/install-dependencies - name: Build jose run: | mkdir -p build && cd build export ninja=$(command -v ninja) [ -z "${ninja}" ] && export ninja=$(command -v ninja-build) meson setup .. || cat meson-logs/meson-log.txt >&2 ${ninja} - name: Run tests run: | cd build if ! meson test; then cat meson-logs/testlog.txt >&2 exit -1 fi - name: Show full test logs run: | if [ -r build/meson-logs/testlog.txt ]; then cat build/meson-logs/testlog.txt >&2 else echo "No test log available" >&2 fi cat build/meson-private/jose.pc container: image: ${{matrix.os}} env: DISTRO: ${{matrix.os}} CC: ${{ matrix.compiler }} osx: runs-on: macos-latest strategy: matrix: compiler: - gcc - clang steps: - uses: actions/checkout@v4 - name: Show OS information run: | cat /etc/os-release 2>/dev/null || echo /etc/os-release not available - name: Install build dependencies run: bash .github/workflows/install-dependencies - name: Build jose run: | mkdir -p build && cd build export ninja=$(command -v ninja) [ -z "${ninja}" ] && export ninja=$(command -v ninja-build) CFLAGS=-I$(brew --prefix openssl)/include LDFLAGS=-L$(brew --prefix openssl)/lib PKG_CONFIG_PATH=$(brew --prefix openssl)/lib/pkgconfig meson setup .. || cat meson-logs/meson-log.txt >&2 ${ninja} - name: Run tests run: | cd build if ! meson test; then cat meson-logs/testlog.txt >&2 exit -1 fi - name: Show full test logs run: | if [ -r build/meson-logs/testlog.txt ]; then cat build/meson-logs/testlog.txt >&2 else echo "No test log available" >&2 fi cat build/meson-private/jose.pc env: DISTRO: osx:macos-latest CC: ${{ matrix.compiler }} # vim:set ts=2 sw=2 et: