Skip to content

Commit 06ae4bc

Browse files
authored
Add CI build for RHEL8 environment (#3731)
* Add RHEL8 container to CI * Trigger on ci/ branches * remove trigger on examples * Attempt to install deps in container * remove sudo * git safe directory * install libasan * Add libasan libubsan * fix spelling * Add test user for UT run
1 parent 14bac5f commit 06ae4bc

File tree

6 files changed

+95
-4
lines changed

6 files changed

+95
-4
lines changed

.github/actions/spelling/expect.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ DHTML
152152
diafile
153153
diles
154154
dinkel
155+
dnf
155156
dnp
156157
docbook
157158
docset
@@ -527,6 +528,7 @@ rcvd
527528
rdwr
528529
Readback
529530
Recvd
531+
redhat
530532
refspec
531533
REFTOPOLOGY
532534
REFTOPOLOGYDEFS
@@ -535,6 +537,7 @@ REMOVEDIRECTORY
535537
REMOVEFILE
536538
reprioritize
537539
RGD
540+
rhel
538541
RHH
539542
Rizvi
540543
ROOTDIR

.github/workflows/build-test-macos.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# This is a basic workflow to help you get started with Actions
22

3-
name: macOS-CI
3+
name: CI [macOS]
44

55
# Controls when the action will run. Triggers the workflow on push or pull request
66
# events but only for the master branch
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# Run suite of CI builds and tests in a RHEL8 container
2+
3+
name: CI [RHEL8]
4+
5+
# Controls when the action will run. Triggers the workflow on push or pull request
6+
# events but only for the master branch
7+
on:
8+
push:
9+
branches: [ devel, release/**, ci/** ]
10+
pull_request:
11+
# The branches below must be a subset of the branches above
12+
branches: [ devel, release/** ]
13+
paths-ignore:
14+
- 'docs/**'
15+
- '**.md'
16+
- '.github/actions/spelling/**'
17+
- '.github/ISSUE_TEMPLATE/**'
18+
19+
jobs:
20+
Framework:
21+
runs-on: ubuntu-latest
22+
container:
23+
image: redhat/ubi8:8.10
24+
steps:
25+
- name: "Install dependencies"
26+
run: |
27+
dnf install -y git python3.12 python3.12-pip llvm-toolset libasan libubsan
28+
git config --global --add safe.directory ${GITHUB_WORKSPACE}
29+
- name: "Checkout F´ Repository"
30+
uses: actions/checkout@v4
31+
with:
32+
fetch-depth: 0
33+
submodules: true
34+
- uses: ./.github/actions/setup
35+
- name: Build Framework
36+
run: |
37+
fprime-util generate
38+
fprime-util build --all -j4
39+
40+
Ref:
41+
runs-on: ubuntu-latest
42+
container:
43+
image: redhat/ubi8:8.10
44+
steps:
45+
- name: "Install dependencies"
46+
run: |
47+
dnf install -y git python3.12 python3.12-pip llvm-toolset libasan libubsan
48+
git config --global --add safe.directory ${GITHUB_WORKSPACE}
49+
- name: "Checkout F´ Repository"
50+
uses: actions/checkout@v4
51+
with:
52+
fetch-depth: 0
53+
submodules: true
54+
- uses: ./.github/actions/setup
55+
- name: Build Ref
56+
run: |
57+
cd Ref
58+
fprime-util generate
59+
fprime-util build -j4
60+
61+
UTs:
62+
runs-on: ubuntu-latest
63+
container:
64+
image: redhat/ubi8:8.10
65+
steps:
66+
- name: "Install dependencies"
67+
run: |
68+
dnf install -y git python3.12 python3.12-pip llvm-toolset libasan libubsan
69+
git config --global --add safe.directory ${GITHUB_WORKSPACE}
70+
- name: "Checkout F´ Repository"
71+
uses: actions/checkout@v4
72+
with:
73+
fetch-depth: 0
74+
submodules: true
75+
- uses: ./.github/actions/setup
76+
# Some UTs require a non-root user to run properly due to using file permissions in tests
77+
# This issue shows up on RHEL8 containers
78+
- name: Setup test environment for permission tests
79+
run: |
80+
useradd -m -u 1001 -s /bin/bash test-user
81+
chown -R test-user:test-user .
82+
- name: UT Build and Run
83+
run: |
84+
su test-user -c "
85+
fprime-util generate --ut &&
86+
fprime-util build --all --ut -j4 &&
87+
fprime-util check --all -j4
88+
"

.github/workflows/build-test-rpi.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# This is a basic workflow to help you get started with Actions
22

3-
name: RPI-CI
3+
name: CI [RPI]
44

55
# Controls when the action will run. Triggers the workflow on push or pull request
66
# events but only for the master branch

.github/workflows/build-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# This is a basic workflow to help you get started with Actions
22

3-
name: CI
3+
name: CI [ubuntu]
44

55
# Controls when the action will run. Triggers the workflow on push or pull request
66
# events but only for the master branch

.github/workflows/ext-build-examples-repo.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ name: "External Repo: fprime-examples"
44

55
on:
66
push:
7-
branches: [ devel, release/**, ci/** ]
7+
branches: [ devel, release/** ]
88
pull_request:
99
# The branches below must be a subset of the branches above
1010
branches: [ devel, release/** ]

0 commit comments

Comments
 (0)