123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- ---
- 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:
|