Skip to content

Commit b3194ce

Browse files
committed
remove linux/arm64 from build and test workflow. Drop QEMU and make use of container: parameter
1 parent ac48e6b commit b3194ce

File tree

1 file changed

+20
-60
lines changed

1 file changed

+20
-60
lines changed

.github/workflows/build_and_test.yaml

Lines changed: 20 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -15,102 +15,62 @@ concurrency:
1515

1616
jobs:
1717
build:
18-
name: ${{ format('Ubuntu {0}, {1}', matrix.UBUNTU_VERSION, matrix.ARCH) }}
18+
name: ${{ format('Ubuntu {0}', matrix.UBUNTU_VERSION) }}
1919
runs-on: ubuntu-latest
20+
container: unistuttgartdae/fans-ci:${{ matrix.UBUNTU_VERSION }}
21+
defaults:
22+
run:
23+
shell: "bash --login -eo pipefail {0}"
2024
env:
21-
FANS_DIR: /FANS
22-
FANS_IMG: unistuttgartdae/fans-ci
23-
FANS_CONTAINER: fans-ci
2425
FANS_BUILD_DIR: build
25-
FANS_MPI_UID: 1000
26+
FANS_MPI_USER: fans
2627
strategy:
2728
fail-fast: false
2829
matrix:
29-
ARCH: [amd64, arm64]
3030
UBUNTU_VERSION: [noble, jammy, focal]
3131
steps:
3232
- name: Checkout code
3333
uses: actions/checkout@v4
3434

35-
- name: Set up QEMU
36-
uses: docker/setup-qemu-action@v3
37-
38-
- name: Create and start container
39-
run: |
40-
docker create \
41-
--name ${{ env.FANS_CONTAINER }} \
42-
--platform linux/${{ matrix.ARCH }} \
43-
--interactive \
44-
--volume .:${{ env.FANS_DIR }} \
45-
${{ env.FANS_IMG }}:${{ matrix.UBUNTU_VERSION }}
46-
docker start ${{ env.FANS_CONTAINER }}
47-
4835
- name: Generate build directory
49-
run: |
50-
docker exec \
51-
-w ${{ env.FANS_DIR }} \
52-
${{ env.FANS_CONTAINER }} \
53-
bash -c ' \
54-
mkdir -p ${{ env.FANS_BUILD_DIR }} \
55-
'
36+
run: mkdir -p ${{ env.FANS_BUILD_DIR }}
5637

5738
- name: Configure
39+
working-directory: ${{ env.FANS_BUILD_DIR }}
5840
run: |
59-
docker exec \
60-
-w ${{ env.FANS_DIR }}/${{ env.FANS_BUILD_DIR }} \
61-
${{ env.FANS_CONTAINER }} \
62-
bash -c ' \
63-
cmake --version && \
64-
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON .. \
65-
'
41+
cmake --version
42+
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
6643
6744
- uses: actions/upload-artifact@v4
6845
if: failure()
6946
with:
70-
name: ${{ format('Ubuntu {0}, {1}', matrix.UBUNTU_VERSION, matrix.ARCH) }} CMakeCache
47+
name: ${{ format('Ubuntu {0}', matrix.UBUNTU_VERSION) }} CMakeCache
7148
path: ${{ env.FANS_BUILD_DIR }}/CMakeCache.txt
7249
- uses: actions/upload-artifact@v4
7350
if: failure()
7451
with:
75-
name: ${{ format('Ubuntu {0}, {1}', matrix.UBUNTU_VERSION, matrix.ARCH) }} CMakeLogs
52+
name: ${{ format('Ubuntu {0}', matrix.UBUNTU_VERSION) }} CMakeLogs
7653
path: '${{ env.FANS_BUILD_DIR }}/CMakeFiles/*.log'
7754
- uses: actions/upload-artifact@v4
7855
if: failure()
7956
with:
80-
name: ${{ format('Ubuntu {0}, {1}', matrix.UBUNTU_VERSION, matrix.ARCH) }} CompileCommands
57+
name: ${{ format('Ubuntu {0}', matrix.UBUNTU_VERSION) }} CompileCommands
8158
path: ${{ env.FANS_BUILD_DIR }}/compile_commands.json
8259

8360
- name: Compile
84-
run: |
85-
docker exec \
86-
-w ${{ env.FANS_DIR }}/${{ env.FANS_BUILD_DIR }} \
87-
${{ env.FANS_CONTAINER }} \
88-
bash -c ' \
89-
cmake --build . -j $(nproc) || cmake --build . -j1 \
90-
'
61+
working-directory: ${{ env.FANS_BUILD_DIR }}
62+
run:
63+
cmake --build . -j $(nproc) || cmake --build . -j1
9164

9265
- name: Adjust user rights
93-
run: |
94-
docker exec \
95-
-w ${{ env.FANS_DIR }} \
96-
${{ env.FANS_CONTAINER }} \
97-
bash -c ' \
98-
chown -R ${{ env.FANS_MPI_UID }} ${{ env.FANS_BUILD_DIR }}
99-
'
66+
run: chown -R ${{ env.FANS_MPI_USER }} ${{ env.FANS_BUILD_DIR }}
10067

10168
- name: Tests
102-
run: |
103-
docker exec \
104-
-w ${{ env.FANS_DIR }}/${{ env.FANS_BUILD_DIR }} \
105-
-u ${{ env.FANS_MPI_UID }} \
106-
-e CTEST_OUTPUT_ON_FAILURE=1 \
107-
${{ env.FANS_CONTAINER }} \
108-
bash -c ' \
109-
ctest
110-
'
69+
working-directory: ${{ env.FANS_BUILD_DIR }}
70+
run: su -c "ctest" ${{ env.FANS_MPI_USER }}
11171

11272
- uses: actions/upload-artifact@v4
11373
if: failure()
11474
with:
115-
name: ${{ format('Ubuntu {0}, {1}', matrix.UBUNTU_VERSION, matrix.ARCH) }} CTest logs
75+
name: ${{ format('Ubuntu {0}', matrix.UBUNTU_VERSION) }} CTest logs
11676
path: ${{ env.FANS_BUILD_DIR }}/Testing/Temporary/LastTest.log

0 commit comments

Comments
 (0)