@@ -7,80 +7,143 @@ permissions:
7
7
8
8
jobs :
9
9
build :
10
- runs-on : ubuntu-20 .04
10
+ runs-on : ubuntu-22 .04
11
11
strategy :
12
12
matrix :
13
- cxx : [g++-4.8 , g++-10 , clang++-9 ]
13
+ cxx : [g++-4.9 , g++-11 , clang++-3.6, clang++-11 ]
14
14
build_type : [Debug, Release]
15
15
std : [11]
16
+ shared : [""]
16
17
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
20
21
build_type : Debug
21
22
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
31
25
build_type : Debug
32
26
std : 17
33
27
- cxx : g++-11
34
28
build_type : Debug
35
29
std : 20
36
30
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
38
37
build_type : Debug
39
38
std : 17
40
39
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
45
44
build_type : Debug
46
45
fuzz : -DFMT_FUZZ=ON -DFMT_FUZZ_LINKMAIN=ON
47
46
std : 17
48
- install : sudo apt install clang-9
49
- - cxx : clang++-11
47
+ install : sudo apt install clang-11
48
+ - cxx : clang++-14
50
49
build_type : Debug
51
50
std : 20
52
- - cxx : clang++-11
51
+ - cxx : clang++-14
53
52
build_type : Debug
54
53
std : 20
55
54
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
58
56
59
57
steps :
60
- - uses : actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1 .0
58
+ - uses : actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2 .0
61
59
62
60
- 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' }}
64
128
65
- - name : Add repositories for older GCC
129
+ - name : Add repositories for newer GCC
66
130
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' }}
74
133
75
- - name : Add ubuntu mirrors
134
+ - name : Add Ubuntu mirrors
76
135
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
82
145
83
- - name : Create Build Environment
146
+ - name : Create build environment
84
147
run : |
85
148
sudo apt update
86
149
${{matrix.install}}
@@ -93,10 +156,12 @@ jobs:
93
156
CXX : ${{matrix.cxx}}
94
157
CXXFLAGS : ${{matrix.cxxflags}}
95
158
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
100
165
101
166
- name : Build
102
167
working-directory : ${{runner.workspace}}/build
0 commit comments