Skip to content

Commit 38527e2

Browse files
committed
Initial CI updates
1 parent 39912fc commit 38527e2

7 files changed

Lines changed: 57 additions & 25 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: 45 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_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 \

.github/workflows/codeql.yml

Lines changed: 5 additions & 5 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
@@ -66,7 +66,7 @@ jobs:
6666
cmake ninja-build ruby build-essential \
6767
libssl-dev
6868
./deps.sh
69-
./prep.sh -DBUILD_TESTING=OFF -DTEST_MEMCHECK=OFF -DTEST_COVERAGE=OFF -DBUILD_DOCS=OFF
69+
./prep.sh -DTEST_MEMCHECK=OFF -DTEST_COVERAGE=OFF -DBUILD_DOCS_API=OFF -DBUILD_DOCS_MAN=OFF
7070
7171
# Initializes the CodeQL tools for scanning.
7272
- name: Initialize CodeQL
@@ -78,7 +78,7 @@ jobs:
7878
paths:
7979
- src
8080
- test
81-
- agent-test
81+
- mock-bpa-test
8282
8383
- name: Build
8484
if: matrix.build-mode == 'manual'

.github/workflows/docs.yaml

Lines changed: 3 additions & 4 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
@@ -67,9 +66,9 @@ jobs:
6766
- name: Setup Pages
6867
uses: actions/configure-pages@v3
6968
- name: Upload artifact
70-
uses: actions/upload-pages-artifact@v2
69+
uses: actions/upload-pages-artifact@v3
7170
with:
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)