@@ -30,8 +30,26 @@ permissions:
30
30
31
31
jobs :
32
32
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
35
53
steps :
36
54
- uses : actions/checkout@v4
37
55
65
83
66
84
sudo perl -MCPAN -e 'install(Memory::Process)' # no package in Ubuntu
67
85
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
+
68
100
- name : make install
69
101
run : |-
70
102
set -x -o pipefail
@@ -86,13 +118,13 @@ jobs:
86
118
- name : Upload test log as an artifact
87
119
uses : actions/upload-artifact@v4
88
120
with :
89
- name : " lcov-${{ github.sha }}-${{ runner.os }}-test-log" # .zip
121
+ name : " lcov-${{ github.sha }}-${{ runner.os }}-GCC-${{ runner.gcc }}- test-log" # .zip
90
122
path : tests/test.log
91
123
if-no-files-found : error
92
124
93
125
- name : Upload test directory shrapnel as an artifact
94
126
uses : actions/upload-artifact@v4
95
127
with :
96
- name : " lcov-${{ github.sha }}-${{ runner.os }}-shrapnel" # .zip
128
+ name : " lcov-${{ github.sha }}-${{ runner.os }}-GCC-${{ runner.gcc }}- shrapnel" # .zip
97
129
path : tests
98
130
# if-no-files-found: error
0 commit comments