44 - cron : ' 0 0 * * 0'
55 push :
66 branches :
7- - main
7+ - main
8+ - ' apl-fy[0-9][0-9]'
89 pull_request : {} # any target
910
1011jobs :
1112 unit-test :
12- runs-on : ubuntu-22.04
13+ strategy :
14+ fail-fast : false
15+ matrix :
16+ os : ['ubuntu-24.04', 'centos-9']
17+ name : Unit Test (os=${{matrix.os}})
18+ runs-on : ${{ matrix.os == 'centos-9' && 'ubuntu-24.04' || matrix.os }}
19+ container : ${{ matrix.os == 'centos-9' && 'quay.io/centos/centos:stream9' || null }}
1320 steps :
21+ - name : Set up OS
22+ if : startsWith(matrix.os, 'ubuntu')
23+ run : |
24+ sudo apt-get update && \
25+ sudo apt-get install -y \
26+ cmake ninja-build ruby build-essential \
27+ libssl-dev \
28+ valgrind gcovr xmlstarlet
29+ - name : Set up OS
30+ if : startsWith(matrix.os, 'centos')
31+ run : |
32+ dnf config-manager --set-enabled crb
33+ dnf install -y epel-release
34+ dnf install -y \
35+ git rsync \
36+ cmake ninja-build \
37+ ruby pkg-config gcc gcc-c++ ccache patch \
38+ openssl-devel \
39+ valgrind xmlstarlet python3-pip
40+ pip3 install gcovr
1441 - name : Checkout repository
1542 uses : actions/checkout@v4
1643 with :
44+ fetch-depth : 0
1745 submodules : recursive
18- - name : Set up OS
19- run : >
20- sudo apt-get update && sudo apt-get install -y
21- cmake ninja-build ruby build-essential
22- libssl-dev
23- valgrind gcovr xmlstarlet
2446 - name : ccache
2547 uses : hendrikmuhs/ccache-action@v1.2
2648 with :
2749 create-symlink : true
50+ - name : Dependencies
51+ run : ./deps.sh
2852 - name : Prep
29- run : ./deps.sh && ./ prep.sh -DBUILD_DOCS =OFF
53+ run : ./prep.sh -DBUILD_DOCS_API =OFF -DBUILD_DOCS_MAN=OFF -DBUILD_TESTING=ON
3054 - name : Build
3155 run : ./build.sh
3256 - name : Test
@@ -36,36 +60,41 @@ jobs:
3660 - name : Archive coverage
3761 uses : actions/upload-artifact@v4
3862 with :
39- name : unit-test -coverage
63+ name : ${{github.job}}-${{matrix.os}} -coverage
4064 path : build/default/coverage*
4165 - name : Report coverage
4266 run : |
4367 SRC_COV_PERC=$(xmlstarlet sel -t -v 'floor(/coverage/packages/package[@name="src"]/@line-rate * 100)' -n build/default/coverage-xml.xml)
4468 echo "Source coverage: ${SRC_COV_PERC}%" >> $GITHUB_STEP_SUMMARY
4569
4670 mock-bpa-test :
47- runs-on : ubuntu-22.04
71+ name : Mock BPA Test (os=ubunntu-24.04)
72+ runs-on : ubuntu-24.04
4873 steps :
49- - name : Checkout repository
50- uses : actions/checkout@v4
51- with :
52- submodules : recursive
5374 - name : Set up OS
5475 run : >
5576 sudo apt-get update && sudo apt-get install -y
5677 cmake ninja-build ruby build-essential
5778 libssl-dev
5879 valgrind gcovr xmlstarlet
80+ - name : Checkout repository
81+ uses : actions/checkout@v4
82+ with :
83+ submodules : recursive
5984 - name : ccache
6085 uses : hendrikmuhs/ccache-action@v1.2
6186 with :
6287 create-symlink : true
88+ - name : Dependencies
89+ run : ./deps.sh
6390 - name : Prep
64- run : ./deps.sh && ./ prep.sh -DBUILD_DOCS =OFF
91+ run : ./prep.sh -DBUILD_DOCS_API =OFF -DBUILD_DOCS_MAN=OFF -DBUILD_TESTING=ON
6592 - name : Build
6693 run : ./build.sh
6794 - name : Install
6895 run : ./build.sh install
96+ - name : Check symbols
97+ run : echo ./check_symbols.py bsl # FIXME replace
6998 - name : Test Prep
7099 run : |
71100 sudo apt-get update && sudo apt-get install -y \
0 commit comments