Skip to content

Commit a241107

Browse files
committed
run_test_suite.yml: Play with different versions of GCC
Signed-off-by: Sebastian Pipping <[email protected]>
1 parent 58e4581 commit a241107

File tree

1 file changed

+36
-4
lines changed

1 file changed

+36
-4
lines changed

.github/workflows/run_test_suite.yml

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,26 @@ permissions:
3030

3131
jobs:
3232
test_suite:
33-
name: Run the test suite
34-
runs-on: ubuntu-24.04
33+
name: "Run the test suite (GCC ${{ matrix.gcc }}, ${{ matrix.runs-on }})"
34+
runs-on: ${{ matrix.runs-on }}
35+
strategy:
36+
fail-fast: false
37+
matrix:
38+
include:
39+
- runs-on: ubuntu-22.04
40+
gcc: 9
41+
- runs-on: ubuntu-22.04
42+
gcc: 10
43+
- runs-on: ubuntu-22.04
44+
gcc: 11
45+
- runs-on: ubuntu-22.04
46+
gcc: 12
47+
- runs-on: ubuntu-24.04
48+
gcc: 12
49+
- runs-on: ubuntu-24.04
50+
gcc: 13
51+
- runs-on: ubuntu-24.04
52+
gcc: 14
3553
steps:
3654
- uses: actions/checkout@v4
3755

@@ -65,6 +83,20 @@ jobs:
6583
6684
sudo perl -MCPAN -e 'install(Memory::Process)' # no package in Ubuntu
6785
86+
- name: "Make GCC ${{ matrix.gcc }} systemwide default"
87+
run: |-
88+
set -x -o pipefail
89+
# Make requested version GCC and GCOV the system default
90+
# before we have an easy way to fully divert "make check"
91+
# off of the default commands
92+
for i in gcc{,-{ar,nm,ranlib}} gcov{,-{dump,tool}} lto-dump ; do
93+
[[ -e /usr/bin/"${i}" ]] || continue
94+
sudo rm /usr/bin/"${i}"
95+
sudo ln -s "${i}-${{ matrix.gcc }}" /usr/bin/"${i}"
96+
"${i}" --version | head -n1
97+
done
98+
ls -l /usr/bin/*-"${{ matrix.gcc }}"
99+
68100
- name: make install
69101
run: |-
70102
set -x -o pipefail
@@ -86,13 +118,13 @@ jobs:
86118
- name: Upload test log as an artifact
87119
uses: actions/upload-artifact@v4
88120
with:
89-
name: "lcov-${{ github.sha }}-${{ runner.os }}-test-log" # .zip
121+
name: "lcov-${{ github.sha }}-${{ runner.os }}-GCC-${{ runner.gcc }}-test-log" # .zip
90122
path: tests/test.log
91123
if-no-files-found: error
92124

93125
- name: Upload test directory shrapnel as an artifact
94126
uses: actions/upload-artifact@v4
95127
with:
96-
name: "lcov-${{ github.sha }}-${{ runner.os }}-shrapnel" # .zip
128+
name: "lcov-${{ github.sha }}-${{ runner.os }}-GCC-${{ runner.gcc }}-shrapnel" # .zip
97129
path: tests
98130
#if-no-files-found: error

0 commit comments

Comments
 (0)