@@ -7,80 +7,143 @@ permissions:
77
88jobs :
99 build :
10- runs-on : ubuntu-20 .04
10+ runs-on : ubuntu-22 .04
1111 strategy :
1212 matrix :
13- cxx : [g++-4.8 , g++-10 , clang++-9 ]
13+ cxx : [g++-4.9 , g++-11 , clang++-3.6, clang++-11 ]
1414 build_type : [Debug, Release]
1515 std : [11]
16+ shared : [""]
1617 include :
17- - cxx : g++-4.8
18- install : sudo apt install g ++-4.8
19- - cxx : g++-8
18+ - cxx : g++-4.9
19+ - cxx : clang ++-3.6
20+ - cxx : g++-11
2021 build_type : Debug
2122 std : 14
22- install : sudo apt install g++-8
23- - cxx : g++-8
24- build_type : Debug
25- std : 17
26- install : sudo apt install g++-8
27- - cxx : g++-9
28- build_type : Debug
29- std : 17
30- - cxx : g++-10
23+ install : sudo apt install g++-11
24+ - cxx : g++-11
3125 build_type : Debug
3226 std : 17
3327 - cxx : g++-11
3428 build_type : Debug
3529 std : 20
3630 install : sudo apt install g++-11
37- - cxx : clang++-8
31+ - cxx : g++-13
32+ build_type : Release
33+ std : 23
34+ install : sudo apt install g++-13
35+ shared : -DBUILD_SHARED_LIBS=ON
36+ - cxx : clang++-11
3837 build_type : Debug
3938 std : 17
4039 cxxflags : -stdlib=libc++
41- install : sudo apt install clang-8 libc++-8 -dev libc++abi-8 -dev
42- - cxx : clang++-9
43- install : sudo apt install clang-9
44- - cxx : clang++-9
40+ install : sudo apt install clang-11 libc++-11 -dev libc++abi-11 -dev
41+ - cxx : clang++-11
42+ install : sudo apt install clang-11
43+ - cxx : clang++-11
4544 build_type : Debug
4645 fuzz : -DFMT_FUZZ=ON -DFMT_FUZZ_LINKMAIN=ON
4746 std : 17
48- install : sudo apt install clang-9
49- - cxx : clang++-11
47+ install : sudo apt install clang-11
48+ - cxx : clang++-14
5049 build_type : Debug
5150 std : 20
52- - cxx : clang++-11
51+ - cxx : clang++-14
5352 build_type : Debug
5453 std : 20
5554 cxxflags : -stdlib=libc++
56- install : sudo apt install libc++-11-dev libc++abi-11-dev
57- - shared : -DBUILD_SHARED_LIBS=ON
55+ install : sudo apt install libc++-14-dev libc++abi-14-dev
5856
5957 steps :
60- - uses : actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1 .0
58+ - uses : actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2 .0
6159
6260 - name : Set timezone
63- run : sudo timedatectl set-timezone 'Asia/Yekaterinburg'
61+ run : sudo timedatectl set-timezone 'Europe/Kyiv'
62+
63+ - name : Install GCC 4.9
64+ run : |
65+ sudo apt update
66+ sudo apt install libatomic1 libc6-dev libgomp1 libitm1 libmpc3
67+ # https://launchpad.net/ubuntu/xenial/amd64/g++-4.9/4.9.3-13ubuntu2
68+ wget --no-verbose \
69+ http://launchpadlibrarian.net/230069137/libmpfr4_3.1.3-2_amd64.deb \
70+ http://launchpadlibrarian.net/253728424/libasan1_4.9.3-13ubuntu2_amd64.deb \
71+ http://launchpadlibrarian.net/445346135/libubsan0_5.4.0-6ubuntu1~16.04.12_amd64.deb \
72+ http://launchpadlibrarian.net/445346112/libcilkrts5_5.4.0-6ubuntu1~16.04.12_amd64.deb \
73+ http://launchpadlibrarian.net/253728426/libgcc-4.9-dev_4.9.3-13ubuntu2_amd64.deb \
74+ http://launchpadlibrarian.net/253728432/libstdc++-4.9-dev_4.9.3-13ubuntu2_amd64.deb \
75+ http://launchpadlibrarian.net/253728314/gcc-4.9-base_4.9.3-13ubuntu2_amd64.deb \
76+ http://launchpadlibrarian.net/445345919/gcc-5-base_5.4.0-6ubuntu1~16.04.12_amd64.deb \
77+ http://launchpadlibrarian.net/253728399/cpp-4.9_4.9.3-13ubuntu2_amd64.deb \
78+ http://launchpadlibrarian.net/253728404/gcc-4.9_4.9.3-13ubuntu2_amd64.deb \
79+ http://launchpadlibrarian.net/253728401/g++-4.9_4.9.3-13ubuntu2_amd64.deb
80+ sudo dpkg -i \
81+ libmpfr4_3.1.3-2_amd64.deb \
82+ libasan1_4.9.3-13ubuntu2_amd64.deb \
83+ libubsan0_5.4.0-6ubuntu1~16.04.12_amd64.deb \
84+ libcilkrts5_5.4.0-6ubuntu1~16.04.12_amd64.deb \
85+ libgcc-4.9-dev_4.9.3-13ubuntu2_amd64.deb \
86+ libstdc++-4.9-dev_4.9.3-13ubuntu2_amd64.deb \
87+ gcc-4.9-base_4.9.3-13ubuntu2_amd64.deb \
88+ gcc-5-base_5.4.0-6ubuntu1~16.04.12_amd64.deb \
89+ cpp-4.9_4.9.3-13ubuntu2_amd64.deb \
90+ gcc-4.9_4.9.3-13ubuntu2_amd64.deb \
91+ g++-4.9_4.9.3-13ubuntu2_amd64.deb
92+ if : ${{ matrix.cxx == 'g++-4.9' }}
93+
94+ - name : Install Clang 3.6
95+ run : |
96+ sudo apt update
97+ sudo apt install libtinfo5
98+ # https://code.launchpad.net/ubuntu/xenial/amd64/clang-3.6/1:3.6.2-3ubuntu2
99+ wget --no-verbose \
100+ http://launchpadlibrarian.net/230019046/libffi6_3.2.1-4_amd64.deb \
101+ http://launchpadlibrarian.net/445346109/libasan2_5.4.0-6ubuntu1~16.04.12_amd64.deb \
102+ http://launchpadlibrarian.net/445346135/libubsan0_5.4.0-6ubuntu1~16.04.12_amd64.deb \
103+ http://launchpadlibrarian.net/445346112/libcilkrts5_5.4.0-6ubuntu1~16.04.12_amd64.deb \
104+ http://launchpadlibrarian.net/445346128/libmpx0_5.4.0-6ubuntu1~16.04.12_amd64.deb \
105+ http://launchpadlibrarian.net/445346113/libgcc-5-dev_5.4.0-6ubuntu1~16.04.12_amd64.deb \
106+ http://launchpadlibrarian.net/445346131/libstdc++-5-dev_5.4.0-6ubuntu1~16.04.12_amd64.deb \
107+ http://launchpadlibrarian.net/445346022/libobjc-5-dev_5.4.0-6ubuntu1~16.04.12_amd64.deb \
108+ http://launchpadlibrarian.net/254405108/libllvm3.6v5_3.6.2-3ubuntu2_amd64.deb \
109+ http://launchpadlibrarian.net/254405097/libclang-common-3.6-dev_3.6.2-3ubuntu2_amd64.deb \
110+ http://launchpadlibrarian.net/254405101/libclang1-3.6_3.6.2-3ubuntu2_amd64.deb \
111+ http://launchpadlibrarian.net/445345919/gcc-5-base_5.4.0-6ubuntu1~16.04.12_amd64.deb \
112+ http://launchpadlibrarian.net/254405091/clang-3.6_3.6.2-3ubuntu2_amd64.deb
113+ sudo dpkg -i \
114+ libffi6_3.2.1-4_amd64.deb \
115+ libasan2_5.4.0-6ubuntu1~16.04.12_amd64.deb \
116+ libubsan0_5.4.0-6ubuntu1~16.04.12_amd64.deb \
117+ libcilkrts5_5.4.0-6ubuntu1~16.04.12_amd64.deb \
118+ libmpx0_5.4.0-6ubuntu1~16.04.12_amd64.deb \
119+ libgcc-5-dev_5.4.0-6ubuntu1~16.04.12_amd64.deb \
120+ libstdc++-5-dev_5.4.0-6ubuntu1~16.04.12_amd64.deb \
121+ libobjc-5-dev_5.4.0-6ubuntu1~16.04.12_amd64.deb \
122+ libllvm3.6v5_3.6.2-3ubuntu2_amd64.deb \
123+ libclang-common-3.6-dev_3.6.2-3ubuntu2_amd64.deb \
124+ libclang1-3.6_3.6.2-3ubuntu2_amd64.deb \
125+ gcc-5-base_5.4.0-6ubuntu1~16.04.12_amd64.deb \
126+ clang-3.6_3.6.2-3ubuntu2_amd64.deb
127+ if : ${{ matrix.cxx == 'clang++-3.6' }}
64128
65- - name : Add repositories for older GCC
129+ - name : Add repositories for newer GCC
66130 run : |
67- # Below two repos provide GCC 4.8, 5.5 and 6.4
68- sudo apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ bionic main'
69- sudo apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ bionic universe'
70- # Below two repos additionally update GCC 6 to 6.5
71- # sudo apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ bionic-updates main'
72- # sudo apt-add-repository 'deb http://azure.archive.ubuntu.com/ubuntu/ bionic-updates universe'
73- if : ${{ matrix.cxx == 'g++-4.8' }}
131+ sudo apt-add-repository ppa:ubuntu-toolchain-r/test
132+ if : ${{ matrix.cxx == 'g++-13' }}
74133
75- - name : Add ubuntu mirrors
134+ - name : Add Ubuntu mirrors
76135 run : |
77- # Github Actions caching proxy is at times unreliable
78- # see https://github.com/actions/runner-images/issues/7048
79- printf 'http://azure.archive.ubuntu.com/ubuntu\tpriority:1\n' | sudo tee /etc/apt/mirrors.txt
80- curl http://mirrors.ubuntu.com/mirrors.txt | sudo tee --append /etc/apt/mirrors.txt
81- sudo sed -i 's~http://azure.archive.ubuntu.com/ubuntu/~mirror+file:/etc/apt/mirrors.txt~' /etc/apt/sources.list
136+ # GitHub Actions caching proxy is at times unreliable
137+ # see https://github.com/actions/runner-images/issues/7048.
138+ mirrors=/etc/apt/mirrors.txt
139+ printf 'http://azure.archive.ubuntu.com/ubuntu\tpriority:1\n' | \
140+ sudo tee $mirrors
141+ curl http://mirrors.ubuntu.com/mirrors.txt | sudo tee --append $mirrors
142+ sudo sed -i \
143+ "s~http://azure.archive.ubuntu.com/ubuntu/~mirror+file:$mirrors~" \
144+ /etc/apt/sources.list
82145
83- - name : Create Build Environment
146+ - name : Create build environment
84147 run : |
85148 sudo apt update
86149 ${{matrix.install}}
@@ -93,10 +156,12 @@ jobs:
93156 CXX : ${{matrix.cxx}}
94157 CXXFLAGS : ${{matrix.cxxflags}}
95158 run : |
96- cmake -DCMAKE_BUILD_TYPE=${{matrix.build_type}} ${{matrix.fuzz}} ${{matrix.shared}} \
97- -DCMAKE_CXX_STANDARD=${{matrix.std}} -DFMT_DOC=OFF \
98- -DCMAKE_CXX_VISIBILITY_PRESET=hidden -DCMAKE_VISIBILITY_INLINES_HIDDEN=ON \
99- -DFMT_PEDANTIC=ON -DFMT_WERROR=ON $GITHUB_WORKSPACE
159+ cmake -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
160+ -DCMAKE_CXX_STANDARD=${{matrix.std}} \
161+ -DCMAKE_CXX_VISIBILITY_PRESET=hidden \
162+ -DCMAKE_VISIBILITY_INLINES_HIDDEN=ON \
163+ -DFMT_DOC=OFF -DFMT_PEDANTIC=ON -DFMT_WERROR=ON \
164+ ${{matrix.fuzz}} ${{matrix.shared}} $GITHUB_WORKSPACE
100165
101166 - name : Build
102167 working-directory : ${{runner.workspace}}/build
0 commit comments