@@ -30,8 +30,16 @@ permissions:
3030
3131jobs :
3232 test_suite :
33- name : Run the test suite
34- runs-on : ubuntu-24.04
33+ name : " Run the test suite (GCC ${{ matrix.gcc }} on ${{ 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-24.04
42+ gcc : 14
3543 steps :
3644 - uses : actions/checkout@v4
3745
6573
6674 sudo perl -MCPAN -e 'install(Memory::Process)' # no package in Ubuntu
6775
76+ - name : " Make GCC ${{ matrix.gcc }} and GCOV ${{ matrix.gcc }} system wide defaults"
77+ run : |-
78+ # Make requested version GCC and GCOV the system default
79+ # before we have an easy way to fully divert "make check"
80+ # off of the default commands
81+ for i in gcc gcov gcov-dump gcov-tool ; do
82+ sudo rm /usr/bin/"${i}"
83+ sudo ln -s "${i}-${{ matrix.gcc }}" /usr/bin/"${i}"
84+ "${i}" --version
85+ done
86+
6887 - name : make install
6988 run : |-
7089 set -x -o pipefail
@@ -86,13 +105,13 @@ jobs:
86105 - name : Upload test log as an artifact
87106 uses : actions/upload-artifact@v4
88107 with :
89- name : " lcov-${{ github.sha }}-${{ runner.os }}-test-log" # .zip
108+ name : " lcov-${{ github.sha }}-${{ runner.os }}-GCC-${{ runner.gcc }}- test-log" # .zip
90109 path : tests/test.log
91110 if-no-files-found : error
92111
93112 - name : Upload test directory shrapnel as an artifact
94113 uses : actions/upload-artifact@v4
95114 with :
96- name : " lcov-${{ github.sha }}-${{ runner.os }}-shrapnel" # .zip
115+ name : " lcov-${{ github.sha }}-${{ runner.os }}-GCC-${{ runner.gcc }}- shrapnel" # .zip
97116 path : tests
98117 # if-no-files-found: error
0 commit comments