Skip to content

Commit 93b774a

Browse files
committed
[CI] Dockerize Ubuntu builds
1 parent e1720ba commit 93b774a

File tree

2 files changed

+66
-64
lines changed

2 files changed

+66
-64
lines changed

.github/workflows/ubuntu.yml

Lines changed: 66 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@ on:
44
jobs:
55
gcc-build:
66
runs-on: ${{ matrix.os }}
7+
container:
8+
image: ghcr.io/learning-process/ppc-ubuntu:latest
9+
credentials:
10+
username: ${{ github.actor }}
11+
password: ${{ secrets.GITHUB_TOKEN }}
712
strategy:
813
matrix:
914
os: ["ubuntu-24.04", "ubuntu-24.04-arm"]
@@ -14,9 +19,7 @@ jobs:
1419
submodules: recursive
1520
- name: Setup environment
1621
run: |
17-
sudo apt-get update
18-
sudo apt-get install --no-install-recommends -y gcc-14 g++-14 ninja-build libmpich-dev libomp-dev valgrind
19-
python3 -m pip install -r requirements.txt
22+
python3 -m pip install -r requirements.txt --break-system-packages --ignore-installed
2023
- name: ccache
2124
uses: hendrikmuhs/[email protected]
2225
with:
@@ -57,16 +60,19 @@ jobs:
5760
needs:
5861
- gcc-build
5962
runs-on: ${{ matrix.os }}
63+
container:
64+
image: ghcr.io/learning-process/ppc-ubuntu:latest
65+
credentials:
66+
username: ${{ github.actor }}
67+
password: ${{ secrets.GITHUB_TOKEN }}
6068
strategy:
6169
matrix:
6270
os: ["ubuntu-24.04", "ubuntu-24.04-arm"]
6371
steps:
6472
- uses: actions/checkout@v4
6573
- name: Setup environment
6674
run: |
67-
sudo apt-get update
68-
sudo apt-get install --no-install-recommends -y gcc-14 g++-14 ninja-build libmpich-dev libomp-dev valgrind
69-
python3 -m pip install -r requirements.txt
75+
python3 -m pip install -r requirements.txt --break-system-packages --ignore-installed
7076
- name: Download installed package
7177
uses: actions/download-artifact@v4
7278
with:
@@ -76,9 +82,11 @@ jobs:
7682
mkdir -p install
7783
tar -xzvf ubuntu-gcc-install-${{ matrix.os }}.tar.gz -C install
7884
- name: Run func tests (MPI)
79-
run: scripts/run_tests.py --running-type="processes" --counts 1 2 3 4
85+
run: scripts/run_tests.py --running-type="processes" --counts 1 2 3 4 --additional-mpi-args="--oversubscribe"
8086
env:
8187
PPC_NUM_THREADS: 1
88+
OMPI_ALLOW_RUN_AS_ROOT: 1
89+
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
8290
- name: Run func tests (threads)
8391
run: scripts/run_tests.py --running-type="threads" --counts 1 2 3 4
8492
env:
@@ -87,16 +95,19 @@ jobs:
8795
needs:
8896
- gcc-test
8997
runs-on: ${{ matrix.os }}
98+
container:
99+
image: ghcr.io/learning-process/ppc-ubuntu:latest
100+
credentials:
101+
username: ${{ github.actor }}
102+
password: ${{ secrets.GITHUB_TOKEN }}
90103
strategy:
91104
matrix:
92105
os: ["ubuntu-24.04", "ubuntu-24.04-arm"]
93106
steps:
94107
- uses: actions/checkout@v4
95108
- name: Setup environment
96109
run: |
97-
sudo apt-get update
98-
sudo apt-get install --no-install-recommends -y gcc-14 g++-14 ninja-build libmpich-dev libomp-dev valgrind
99-
python3 -m pip install -r requirements.txt
110+
python3 -m pip install -r requirements.txt --break-system-packages --ignore-installed
100111
- name: Download installed package
101112
uses: actions/download-artifact@v4
102113
with:
@@ -111,20 +122,18 @@ jobs:
111122
PPC_NUM_PROC: 1
112123
clang-build:
113124
runs-on: ${{ matrix.os }}
125+
container:
126+
image: ghcr.io/learning-process/ppc-ubuntu:latest
127+
credentials:
128+
username: ${{ github.actor }}
129+
password: ${{ secrets.GITHUB_TOKEN }}
114130
strategy:
115131
matrix:
116132
os: ["ubuntu-24.04", "ubuntu-24.04-arm"]
117133
steps:
118134
- uses: actions/checkout@v4
119135
with:
120136
submodules: recursive
121-
- name: Setup environment
122-
run: |
123-
sudo apt-get update
124-
sudo apt-get install --no-install-recommends -y ninja-build libmpich-dev python3-pip valgrind
125-
wget https://apt.llvm.org/llvm.sh
126-
chmod u+x llvm.sh
127-
sudo ./llvm.sh 20 all
128137
- name: ccache
129138
uses: hendrikmuhs/[email protected]
130139
with:
@@ -157,18 +166,16 @@ jobs:
157166
needs:
158167
- clang-build
159168
runs-on: ${{ matrix.os }}
169+
container:
170+
image: ghcr.io/learning-process/ppc-ubuntu:latest
171+
credentials:
172+
username: ${{ github.actor }}
173+
password: ${{ secrets.GITHUB_TOKEN }}
160174
strategy:
161175
matrix:
162176
os: ["ubuntu-24.04", "ubuntu-24.04-arm"]
163177
steps:
164178
- uses: actions/checkout@v4
165-
- name: Setup environment
166-
run: |
167-
sudo apt-get update
168-
sudo apt-get install --no-install-recommends -y ninja-build libmpich-dev python3-pip valgrind
169-
wget https://apt.llvm.org/llvm.sh
170-
chmod u+x llvm.sh
171-
sudo ./llvm.sh 20 all
172179
- name: Download installed package
173180
uses: actions/download-artifact@v4
174181
with:
@@ -178,9 +185,11 @@ jobs:
178185
mkdir -p install
179186
tar -xzvf ubuntu-clang-install-${{ matrix.os }}.tar.gz -C install
180187
- name: Run func tests (MPI)
181-
run: scripts/run_tests.py --running-type="processes" --counts 1 2 3 4
188+
run: scripts/run_tests.py --running-type="processes" --counts 1 2 3 4 --additional-mpi-args="--oversubscribe"
182189
env:
183190
PPC_NUM_THREADS: 1
191+
OMPI_ALLOW_RUN_AS_ROOT: 1
192+
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
184193
- name: Run tests (threads)
185194
run: scripts/run_tests.py --running-type="threads" --counts 1 2 3 4
186195
env:
@@ -189,18 +198,16 @@ jobs:
189198
needs:
190199
- clang-test
191200
runs-on: ${{ matrix.os }}
201+
container:
202+
image: ghcr.io/learning-process/ppc-ubuntu:latest
203+
credentials:
204+
username: ${{ github.actor }}
205+
password: ${{ secrets.GITHUB_TOKEN }}
192206
strategy:
193207
matrix:
194208
os: ["ubuntu-24.04", "ubuntu-24.04-arm"]
195209
steps:
196210
- uses: actions/checkout@v4
197-
- name: Setup environment
198-
run: |
199-
sudo apt-get update
200-
sudo apt-get install --no-install-recommends -y ninja-build libmpich-dev python3-pip valgrind
201-
wget https://apt.llvm.org/llvm.sh
202-
chmod u+x llvm.sh
203-
sudo ./llvm.sh 20 all
204211
- name: Download installed package
205212
uses: actions/download-artifact@v4
206213
with:
@@ -217,21 +224,18 @@ jobs:
217224
needs:
218225
- clang-build
219226
runs-on: ${{ matrix.os }}
227+
container:
228+
image: ghcr.io/learning-process/ppc-ubuntu:latest
229+
credentials:
230+
username: ${{ github.actor }}
231+
password: ${{ secrets.GITHUB_TOKEN }}
220232
strategy:
221233
matrix:
222234
os: ["ubuntu-24.04"]
223235
steps:
224236
- uses: actions/checkout@v4
225237
with:
226238
submodules: recursive
227-
- name: Setup environment
228-
run: |
229-
sudo apt-get update
230-
sudo apt-get install --no-install-recommends -y ninja-build python3-pip \
231-
openmpi-bin openmpi-common libopenmpi-dev
232-
wget https://apt.llvm.org/llvm.sh
233-
chmod u+x llvm.sh
234-
sudo ./llvm.sh 20 all
235239
- name: ccache
236240
uses: hendrikmuhs/[email protected]
237241
with:
@@ -266,19 +270,16 @@ jobs:
266270
needs:
267271
- clang-sanitizer-build
268272
runs-on: ${{ matrix.os }}
273+
container:
274+
image: ghcr.io/learning-process/ppc-ubuntu:latest
275+
credentials:
276+
username: ${{ github.actor }}
277+
password: ${{ secrets.GITHUB_TOKEN }}
269278
strategy:
270279
matrix:
271280
os: ["ubuntu-24.04"]
272281
steps:
273282
- uses: actions/checkout@v4
274-
- name: Setup environment
275-
run: |
276-
sudo apt-get update
277-
sudo apt-get install --no-install-recommends -y ninja-build python3-pip valgrind \
278-
openmpi-bin openmpi-common libopenmpi-dev
279-
wget https://apt.llvm.org/llvm.sh
280-
chmod u+x llvm.sh
281-
sudo ./llvm.sh 20 all
282283
- name: Download installed package
283284
uses: actions/download-artifact@v4
284285
with:
@@ -294,6 +295,8 @@ jobs:
294295
PPC_ASAN_RUN: 1
295296
ASAN_OPTIONS: abort_on_error=1
296297
UBSAN_OPTIONS: halt_on_error=1
298+
OMPI_ALLOW_RUN_AS_ROOT: 1
299+
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
297300
- name: Run tests (threads)
298301
run: scripts/run_tests.py --running-type="threads" --counts 1 2 3 4
299302
env:
@@ -305,19 +308,16 @@ jobs:
305308
needs:
306309
- clang-sanitizer-test
307310
runs-on: ${{ matrix.os }}
311+
container:
312+
image: ghcr.io/learning-process/ppc-ubuntu:latest
313+
credentials:
314+
username: ${{ github.actor }}
315+
password: ${{ secrets.GITHUB_TOKEN }}
308316
strategy:
309317
matrix:
310318
os: ["ubuntu-24.04"]
311319
steps:
312320
- uses: actions/checkout@v4
313-
- name: Setup environment
314-
run: |
315-
sudo apt-get update
316-
sudo apt-get install --no-install-recommends -y ninja-build python3-pip valgrind \
317-
openmpi-bin openmpi-common libopenmpi-dev
318-
wget https://apt.llvm.org/llvm.sh
319-
chmod u+x llvm.sh
320-
sudo ./llvm.sh 20 all
321321
- name: Download installed package
322322
uses: actions/download-artifact@v4
323323
with:
@@ -336,15 +336,15 @@ jobs:
336336
- gcc-test-extended
337337
- clang-test-extended
338338
runs-on: ubuntu-24.04
339+
container:
340+
image: ghcr.io/learning-process/ppc-ubuntu:latest
341+
credentials:
342+
username: ${{ github.actor }}
343+
password: ${{ secrets.GITHUB_TOKEN }}
339344
steps:
340345
- uses: actions/checkout@v4
341346
with:
342347
submodules: recursive
343-
- name: Setup environment
344-
run: |
345-
sudo apt-get update
346-
sudo apt-get install --no-install-recommends -y \
347-
gcc-14 g++-14 ninja-build libmpich-dev libomp-dev valgrind gcovr
348348
- name: ccache
349349
uses: hendrikmuhs/[email protected]
350350
with:
@@ -361,10 +361,12 @@ jobs:
361361
run: |
362362
cmake --build build --parallel
363363
- name: Run tests (MPI)
364-
run: scripts/run_tests.py --running-type="processes"
364+
run: scripts/run_tests.py --running-type="processes" --additional-mpi-args="--oversubscribe"
365365
env:
366366
PPC_NUM_PROC: 2
367367
PPC_NUM_THREADS: 2
368+
OMPI_ALLOW_RUN_AS_ROOT: 1
369+
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
368370
- name: Run tests (threads)
369371
run: scripts/run_tests.py --running-type="threads" --counts 1 2 3 4
370372
env:
@@ -373,7 +375,8 @@ jobs:
373375
run: |
374376
mkdir cov-report
375377
cd build
376-
gcovr -r ../ \
378+
gcovr --gcov-executable `which gcov-14`
379+
-r ../ \
377380
--exclude '.*3rdparty/.*' \
378381
--exclude '/usr/.*' \
379382
--exclude '.*tasks/.*/tests/.*' \

cmake/configure.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ if(UNIX)
4545
add_compile_options(
4646
-Wpedantic
4747
-Wpointer-arith
48-
-Wcast-align
4948
-Wwrite-strings
5049
-Wswitch-enum
5150
-Wnull-dereference

0 commit comments

Comments
 (0)