Skip to content

Commit bf44c33

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

File tree

1 file changed

+50
-56
lines changed

1 file changed

+50
-56
lines changed

.github/workflows/ubuntu.yml

Lines changed: 50 additions & 56 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,8 +19,6 @@ 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
1922
python3 -m pip install -r requirements.txt
2023
- name: ccache
2124
uses: hendrikmuhs/ccache-action@v1.2
@@ -57,15 +60,18 @@ 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
6975
python3 -m pip install -r requirements.txt
7076
- name: Download installed package
7177
uses: actions/download-artifact@v4
@@ -87,15 +93,18 @@ jobs:
8793
needs:
8894
- gcc-test
8995
runs-on: ${{ matrix.os }}
96+
container:
97+
image: ghcr.io/learning-process/ppc-ubuntu:latest
98+
credentials:
99+
username: ${{ github.actor }}
100+
password: ${{ secrets.GITHUB_TOKEN }}
90101
strategy:
91102
matrix:
92103
os: ["ubuntu-24.04", "ubuntu-24.04-arm"]
93104
steps:
94105
- uses: actions/checkout@v4
95106
- name: Setup environment
96107
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
99108
python3 -m pip install -r requirements.txt
100109
- name: Download installed package
101110
uses: actions/download-artifact@v4
@@ -111,20 +120,18 @@ jobs:
111120
PPC_NUM_PROC: 1
112121
clang-build:
113122
runs-on: ${{ matrix.os }}
123+
container:
124+
image: ghcr.io/learning-process/ppc-ubuntu:latest
125+
credentials:
126+
username: ${{ github.actor }}
127+
password: ${{ secrets.GITHUB_TOKEN }}
114128
strategy:
115129
matrix:
116130
os: ["ubuntu-24.04", "ubuntu-24.04-arm"]
117131
steps:
118132
- uses: actions/checkout@v4
119133
with:
120134
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
128135
- name: ccache
129136
uses: hendrikmuhs/ccache-action@v1.2
130137
with:
@@ -157,18 +164,16 @@ jobs:
157164
needs:
158165
- clang-build
159166
runs-on: ${{ matrix.os }}
167+
container:
168+
image: ghcr.io/learning-process/ppc-ubuntu:latest
169+
credentials:
170+
username: ${{ github.actor }}
171+
password: ${{ secrets.GITHUB_TOKEN }}
160172
strategy:
161173
matrix:
162174
os: ["ubuntu-24.04", "ubuntu-24.04-arm"]
163175
steps:
164176
- 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
172177
- name: Download installed package
173178
uses: actions/download-artifact@v4
174179
with:
@@ -189,18 +194,16 @@ jobs:
189194
needs:
190195
- clang-test
191196
runs-on: ${{ matrix.os }}
197+
container:
198+
image: ghcr.io/learning-process/ppc-ubuntu:latest
199+
credentials:
200+
username: ${{ github.actor }}
201+
password: ${{ secrets.GITHUB_TOKEN }}
192202
strategy:
193203
matrix:
194204
os: ["ubuntu-24.04", "ubuntu-24.04-arm"]
195205
steps:
196206
- 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
204207
- name: Download installed package
205208
uses: actions/download-artifact@v4
206209
with:
@@ -217,21 +220,18 @@ jobs:
217220
needs:
218221
- clang-build
219222
runs-on: ${{ matrix.os }}
223+
container:
224+
image: ghcr.io/learning-process/ppc-ubuntu:latest
225+
credentials:
226+
username: ${{ github.actor }}
227+
password: ${{ secrets.GITHUB_TOKEN }}
220228
strategy:
221229
matrix:
222230
os: ["ubuntu-24.04"]
223231
steps:
224232
- uses: actions/checkout@v4
225233
with:
226234
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
235235
- name: ccache
236236
uses: hendrikmuhs/ccache-action@v1.2
237237
with:
@@ -266,19 +266,16 @@ jobs:
266266
needs:
267267
- clang-sanitizer-build
268268
runs-on: ${{ matrix.os }}
269+
container:
270+
image: ghcr.io/learning-process/ppc-ubuntu:latest
271+
credentials:
272+
username: ${{ github.actor }}
273+
password: ${{ secrets.GITHUB_TOKEN }}
269274
strategy:
270275
matrix:
271276
os: ["ubuntu-24.04"]
272277
steps:
273278
- 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
282279
- name: Download installed package
283280
uses: actions/download-artifact@v4
284281
with:
@@ -305,19 +302,16 @@ jobs:
305302
needs:
306303
- clang-sanitizer-test
307304
runs-on: ${{ matrix.os }}
305+
container:
306+
image: ghcr.io/learning-process/ppc-ubuntu:latest
307+
credentials:
308+
username: ${{ github.actor }}
309+
password: ${{ secrets.GITHUB_TOKEN }}
308310
strategy:
309311
matrix:
310312
os: ["ubuntu-24.04"]
311313
steps:
312314
- 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
321315
- name: Download installed package
322316
uses: actions/download-artifact@v4
323317
with:
@@ -336,15 +330,15 @@ jobs:
336330
- gcc-test-extended
337331
- clang-test-extended
338332
runs-on: ubuntu-24.04
333+
container:
334+
image: ghcr.io/learning-process/ppc-ubuntu:latest
335+
credentials:
336+
username: ${{ github.actor }}
337+
password: ${{ secrets.GITHUB_TOKEN }}
339338
steps:
340339
- uses: actions/checkout@v4
341340
with:
342341
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
348342
- name: ccache
349343
uses: hendrikmuhs/ccache-action@v1.2
350344
with:

0 commit comments

Comments
 (0)