1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
name: compile and unit test on rolling distros
on:
push:
branches:
- master
- queue
- tip
- 'stable-*'
paths:
- '.github/workflows/rolling.yaml'
- '**.h'
- '**.c'
- '**Makefile*'
- '**.mk'
pull_request:
branches:
- master
- queue
- 'stable-*'
paths:
- '.github/workflows/rolling.yaml'
- '**.h'
- '**.c'
- '**Makefile*'
- '**.mk'
# run weekly to catch rolling distro changes
schedule:
- cron: '30 06 * * 1'
jobs:
rolling:
strategy:
fail-fast: false
matrix:
os:
- debian-sid
- opensuse-tumbleweed
- fedora-rawhide
variant:
- arch: x86_64
runner: ubuntu-24.04
- arch: aarch64
runner: ubuntu-24.04-arm
compiler:
- gcc
- clang
include:
- os: alpine
variant:
arch: x86_64
runner: ubuntu-24.04
compiler: gcc
- os: alpine
variant:
arch: x86_64
runner: ubuntu-24.04
compiler: clang
runs-on: ${{ matrix.variant.runner }}
container: ghcr.io/mwilck/multipath-build-${{ matrix.os }}
steps:
- name: checkout
uses: actions/checkout@v4
- name: build and test
id: test
run: make CC=${{ matrix.compiler }} READLINE=libreadline -j$(nproc) -Orecurse test
continue-on-error: true
- name: create binary archive
run: make test-progs.tar
if: steps.test.outcome != 'success'
- name: upload binary archive
uses: actions/upload-artifact@v4
with:
name: binaries-${{ matrix.os }}-${{ matrix.variant.arch }}-${{ matrix.compiler }}
path: test-progs.tar
if: steps.test.outcome != 'success'
- name: fail
run: /bin/false
if: steps.test.outcome != 'success'
|