Skip to content

Commit 3d8788e

Browse files
committed
Initial CI updates
1 parent 39912fc commit 3d8788e

7 files changed

Lines changed: 53 additions & 22 deletions

File tree

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @NASA-AMMOS/bsl-developers

.github/workflows/build-test.yaml

Lines changed: 44 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,53 @@ on:
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

1011
jobs:
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=OFF -DBUILD_TESTING=ON
3054
- name: Build
3155
run: ./build.sh
3256
- name: Test
@@ -36,36 +60,40 @@ 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+
runs-on: ubuntu-24.04
4872
steps:
49-
- name: Checkout repository
50-
uses: actions/checkout@v4
51-
with:
52-
submodules: recursive
5373
- name: Set up OS
5474
run: >
5575
sudo apt-get update && sudo apt-get install -y
5676
cmake ninja-build ruby build-essential
5777
libssl-dev
5878
valgrind gcovr xmlstarlet
79+
- name: Checkout repository
80+
uses: actions/checkout@v4
81+
with:
82+
submodules: recursive
5983
- name: ccache
6084
uses: hendrikmuhs/ccache-action@v1.2
6185
with:
6286
create-symlink: true
87+
- name: Dependencies
88+
run: ./deps.sh
6389
- name: Prep
64-
run: ./deps.sh && ./prep.sh -DBUILD_DOCS=OFF
90+
run: ./prep.sh -DBUILD_DOCS=OFF -DBUILD_TESTING=OFF
6591
- name: Build
6692
run: ./build.sh
6793
- name: Install
6894
run: ./build.sh install
95+
- name: Check symbols
96+
run: echo ./check_symbols.py bsl #FIXME replace
6997
- name: Test Prep
7098
run: |
7199
sudo apt-get update && sudo apt-get install -y \

.github/workflows/codeql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,16 @@ name: "CodeQL"
1313

1414
on:
1515
push:
16-
branches: [ "main" ]
16+
branches:
17+
- main
18+
- 'apl-fy[0-9][0-9]'
1719
pull_request: {} # any target
1820
schedule:
1921
- cron: '20 8 * * 4'
2022

2123
jobs:
2224
analyze:
2325
name: Analyze (${{ matrix.language }})
24-
if: false # disabled for private repository
25-
2626
# Runner size impacts CodeQL analysis time. To learn more, please see:
2727
# - https://gh.io/recommended-hardware-resources-for-running-codeql
2828
# - https://gh.io/supported-runners-and-hardware-resources

.github/workflows/docs.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ jobs:
5555
name: github-pages
5656
url: ${{ steps.deployment.outputs.page_url }}
5757
needs: apidoc
58-
# if: github.ref == 'refs/heads/main'
59-
if: false # disabled for private repository
58+
if: github.ref == 'refs/heads/main'
6059
runs-on: ubuntu-latest
6160
steps:
6261
- uses: actions/download-artifact@v4
@@ -72,4 +71,4 @@ jobs:
7271
path: testroot/usr/share/doc/bsl/
7372
- name: Deploy to GitHub Pages
7473
id: deployment
75-
uses: actions/deploy-pages@v2
74+
uses: actions/deploy-pages@v4

deps/QCBOR

Submodule QCBOR added at 24cd62a

deps/mlib

Submodule mlib added at 847f52f

deps/unity

Submodule unity added at 25ca536

0 commit comments

Comments
 (0)