@@ -12,50 +12,42 @@ defaults:
12
12
shell : bash -e -l {0}
13
13
jobs :
14
14
build :
15
- runs-on : ubuntu-latest
15
+ runs-on : ubuntu-24.04
16
16
name : ${{ matrix.sys.compiler }} ${{ matrix.sys.version }}
17
17
strategy :
18
18
fail-fast : false
19
19
matrix :
20
20
sys :
21
- - {compiler: gcc, version: '9'}
22
- - {compiler: gcc, version: '10'}
23
21
- {compiler: gcc, version: '11'}
24
22
- {compiler: gcc, version: '12'}
25
- - {compiler: clang, version: '15'}
26
- - {compiler: clang, version: '16'}
23
+ - {compiler: gcc, version: '13'}
24
+ - {compiler: gcc, version: '14'}
25
+ - {compiler: clang, version: '17'}
26
+ - {compiler: clang, version: '18'}
27
+ - {compiler: clang, version: '19'}
28
+ - {compiler: clang, version: '20'}
27
29
28
30
steps :
31
+ - name : Install GCC
32
+ if : matrix.sys.compiler == 'gcc'
33
+ uses : egor-tensin/setup-gcc@v1
34
+ with :
35
+ version : ${{matrix.sys.version}}
36
+ platform : x64
29
37
30
- - name : Setup GCC
31
- if : ${{ matrix.sys.compiler == 'gcc' }}
32
- run : |
33
- GCC_VERSION=${{ matrix.sys.version }}
34
- sudo apt-get update
35
- sudo apt-get --no-install-suggests --no-install-recommends install g++-$GCC_VERSION
36
- CC=gcc-$GCC_VERSION
37
- echo "CC=$CC" >> $GITHUB_ENV
38
- CXX=g++-$GCC_VERSION
39
- echo "CXX=$CXX" >> $GITHUB_ENV
40
-
41
- - name : Setup clang
42
- if : ${{ matrix.sys.compiler == 'clang' }}
38
+ - name : Install LLVM and Clang
39
+ if : matrix.sys.compiler == 'clang'
43
40
run : |
44
- LLVM_VERSION=${{ matrix.sys.version }}
45
- wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - || exit 1
46
- if [[ $LLVM_VERSION -ge 13 ]]; then
47
- sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-$LLVM_VERSION main" || exit 1
48
- else
49
- sudo add-apt-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal main" || exit 1
50
- fi || exit 1
51
- sudo apt-get update || exit 1
52
- sudo apt-get --no-install-suggests --no-install-recommends install clang-$LLVM_VERSION || exit 1
53
- sudo apt-get --no-install-suggests --no-install-recommends install g++-9 g++-9-multilib || exit 1
54
- sudo ln -s /usr/include/asm-generic /usr/include/asm
55
- CC=clang-$LLVM_VERSION
56
- echo "CC=$CC" >> $GITHUB_ENV
57
- CXX=clang++-$LLVM_VERSION
58
- echo "CXX=$CXX" >> $GITHUB_ENV
41
+ wget https://apt.llvm.org/llvm.sh
42
+ chmod +x llvm.sh
43
+ sudo ./llvm.sh ${{matrix.sys.version}}
44
+ sudo apt-get install -y clang-tools-${{matrix.sys.version}}
45
+ sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${{matrix.sys.version}} 200
46
+ sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${{matrix.sys.version}} 200
47
+ sudo update-alternatives --install /usr/bin/clang-scan-deps clang-scan-deps /usr/bin/clang-scan-deps-${{matrix.sys.version}} 200
48
+ sudo update-alternatives --set clang /usr/bin/clang-${{matrix.sys.version}}
49
+ sudo update-alternatives --set clang++ /usr/bin/clang++-${{matrix.sys.version}}
50
+ sudo update-alternatives --set clang-scan-deps /usr/bin/clang-scan-deps-${{matrix.sys.version}}
59
51
60
52
- name : Checkout code
61
53
uses : actions/checkout@v3
0 commit comments