Skip to content

Commit 34f7ba0

Browse files
committed
Fix CI matrix
Simplify and extend it to combinations available with Ubuntu 20.04 & 22.04. Disable clang >= 12 as float code currently doesn't work with these with -O3 or -Os. Signed-off-by: Paul Guyot <[email protected]>
1 parent 9670120 commit 34f7ba0

File tree

1 file changed

+81
-45
lines changed

1 file changed

+81
-45
lines changed

.github/workflows/build-and-test.yaml

Lines changed: 81 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -17,67 +17,48 @@ jobs:
1717

1818
matrix:
1919
os: ["ubuntu-20.04", "ubuntu-22.04"]
20-
cc: ["gcc-5", "gcc-6", "gcc-7", "gcc-8", "gcc-9", "gcc-10", "clang-3.9", "clang-10"]
21-
cflags: ["-Os", "-O2", "-O3"]
20+
cc: ["gcc-7", "gcc-8", "gcc-9", "gcc-10", "gcc-11", "gcc-12", "clang-10", "clang-11"]
21+
# cc: ["gcc-7", "gcc-8", "gcc-9", "gcc-10", "gcc-11", "gcc-12", "clang-10", "clang-11", "clang-12", "clang-13", "clang-14"]
22+
cflags: ["-O3"]
2223
otp: ["21", "22", "23", "24", "25", "master"]
2324

2425
exclude:
26+
# Ubuntu 22.04 with setup-beam only has OTP >= 24.2
2527
- os: "ubuntu-22.04"
2628
otp: "21"
2729
- os: "ubuntu-22.04"
2830
otp: "22"
2931
- os: "ubuntu-22.04"
3032
otp: "23"
3133

32-
- os: "ubuntu-22.04"
33-
cc: "clang-3.9"
34-
- os: "ubuntu-22.04"
35-
cc: "clang-10"
36-
- os: "ubuntu-22.04"
37-
cc: "gcc-5"
38-
- os: "ubuntu-22.04"
39-
cc: "gcc-6"
34+
# Ubuntu 20.04 has gcc from 7 to 10 ("gcc" is gcc-9)
35+
# Ubuntu 22.04 has gcc from 9 to 12 ("gcc" is gcc-11)
36+
# Ubuntu 20.04 has clang 10 and 12 to ("clang" is 10)
37+
# Ubuntu 22.04 has clang from 12 to 14 ("clang" is 14)
38+
# We want to test every compiler but don't need to test every OS
39+
# and we favor later Ubuntu 22.04 + defaults
4040
- os: "ubuntu-22.04"
4141
cc: "gcc-7"
4242
- os: "ubuntu-22.04"
4343
cc: "gcc-8"
44-
4544
- os: "ubuntu-20.04"
46-
cc: "gcc-5"
45+
cc: "gcc-10"
4746
- os: "ubuntu-20.04"
48-
cc: "gcc-6"
47+
cc: "gcc-11"
4948
- os: "ubuntu-20.04"
50-
cc: "clang-3.9"
51-
52-
- cc: "gcc-5"
53-
cflags: "-Os"
54-
- cc: "gcc-6"
55-
cflags: "-Os"
56-
- cc: "gcc-7"
57-
cflags: "-Os"
58-
- cc: "gcc-8"
59-
cflags: "-Os"
60-
- cc: "gcc-9"
61-
cflags: "-Os"
62-
63-
- cc: "gcc-5"
64-
cflags: "-O3"
65-
- cc: "gcc-6"
66-
cflags: "-O3"
67-
- cc: "gcc-7"
68-
cflags: "-O3"
69-
- cc: "gcc-8"
70-
cflags: "-O3"
71-
- cc: "gcc-9"
72-
cflags: "-O3"
49+
cc: "gcc-12"
50+
- os: "ubuntu-22.04"
51+
cc: "clang-10"
52+
- os: "ubuntu-22.04"
53+
cc: "clang-11"
54+
# - os: "ubuntu-20.04"
55+
# cc: "clang-12"
56+
# - os: "ubuntu-20.04"
57+
# cc: "clang-13"
58+
# - os: "ubuntu-20.04"
59+
# cc: "clang-14"
7360

7461
include:
75-
- cc: "gcc-5"
76-
cxx: "g++-5"
77-
compiler_pkgs: "gcc-5 g++-5"
78-
- cc: "gcc-6"
79-
cxx: "g++-6"
80-
compiler_pkgs: "gcc-6 g++-6"
8162
- cc: "gcc-7"
8263
cxx: "g++-7"
8364
compiler_pkgs: "gcc-7 g++-7"
@@ -90,12 +71,28 @@ jobs:
9071
- cc: "gcc-10"
9172
cxx: "g++-10"
9273
compiler_pkgs: "gcc-10 g++-10"
93-
- cc: "clang-3.9"
94-
cxx: "clang++-3.9"
95-
compiler_pkgs: "clang-3.9"
74+
- cc: "gcc-11"
75+
cxx: "g++-11"
76+
compiler_pkgs: "gcc-11 g++-11"
77+
- cc: "gcc-12"
78+
cxx: "g++-12"
79+
compiler_pkgs: "gcc-12 g++-12"
9680
- cc: "clang-10"
9781
cxx: "clang++-10"
9882
compiler_pkgs: "clang-10"
83+
- cc: "clang-11"
84+
cxx: "clang++-11"
85+
compiler_pkgs: "clang-11"
86+
# - cc: "clang-12"
87+
# cxx: "clang++-12"
88+
# compiler_pkgs: "clang-12"
89+
# - cc: "clang-13"
90+
# cxx: "clang++-13"
91+
# compiler_pkgs: "clang-13"
92+
# - cc: "clang-14"
93+
# cxx: "clang++-14"
94+
# compiler_pkgs: "clang-14"
95+
9996

10097
- otp: "21"
10198
elixir_version: "1.7"
@@ -109,6 +106,45 @@ jobs:
109106
- otp: "24"
110107
elixir_version: "1.14"
111108

109+
- otp: "25"
110+
elixir_version: "1.14"
111+
112+
- otp: "master"
113+
elixir_version: "master"
114+
115+
# Additional default compiler builds
116+
- os: "ubuntu-20.04"
117+
cc: "cc"
118+
cxx: "c++"
119+
otp: "25"
120+
cflags: ""
121+
elixir_version: "1.14"
122+
123+
- os: "ubuntu-22.04"
124+
cc: "cc"
125+
cxx: "c++"
126+
otp: "25"
127+
cflags: ""
128+
elixir_version: "1.14"
129+
130+
# Additional latest & -Os compiler builds
131+
- os: "ubuntu-22.04"
132+
cc: "gcc-12"
133+
cxx: "g++-12"
134+
otp: "24"
135+
cflags: "-Os"
136+
elixir_version: "1.14"
137+
compiler_pkgs: "gcc-12 g++-12"
138+
139+
# - os: "ubuntu-22.04"
140+
# cc: "clang-14"
141+
# cxx: "clang++-14"
142+
# otp: "24"
143+
# cflags: "-Os"
144+
# elixir_version: "1.14"
145+
# compiler_pkgs: "clang-14"
146+
147+
# Additional 32 bits build
112148
- os: "ubuntu-20.04"
113149
cc: "gcc-10"
114150
cxx: "g++-10"

0 commit comments

Comments
 (0)