@@ -39,143 +39,164 @@ jobs:
39
39
runs-on : ${{ matrix.os }}
40
40
# Set environment variables from matrix parameters
41
41
env :
42
+ BASE : " 7.0"
42
43
CMP : ${{ matrix.cmp }}
43
44
BCFG : ${{ matrix.configuration }}
44
- BASE : ${{ matrix.base }}
45
- WINE : ${{ matrix.wine }}
46
- RTEMS : ${{ matrix.rtems }}
47
- RTEMS_TARGET : ${{ matrix.rtems_target }}
45
+ CI_CROSS_TARGETS : ${{ matrix.cross }}
48
46
EXTRA : ${{ matrix.extra }}
49
47
TEST : ${{ matrix.test }}
50
48
strategy :
51
49
fail-fast : false
52
50
matrix :
53
51
# Job names also name artifacts, character limitations apply
54
52
include :
55
- - os : ubuntu-latest
53
+ - os : ubuntu-22.04
54
+ cmp : gcc-12
55
+ name : " Ub-22 gcc-12 c++20 Werror"
56
+ # Turn all warnings into errors,
57
+ # except for those we could not fix (yet).
58
+ # Remove respective -Wno-error=... flag once it is fixed.
59
+ extra : " CMD_CXXFLAGS=-std=c++20
60
+ CMD_CPPFLAGS='-fdiagnostics-color
61
+ -fstack-protector-strong
62
+ -Wformat
63
+ -Werror
64
+ -Werror=format-security
65
+ -Wno-error=deprecated-declarations
66
+ -Wno-error=stringop-truncation
67
+ -Wno-error=restrict
68
+ -Wno-error=sizeof-pointer-memaccess
69
+ -Wno-error=nonnull
70
+ -Wno-error=dangling-pointer
71
+ -Wno-error=format-overflow
72
+ -Wno-error=stringop-overread
73
+ -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3'
74
+ CMD_LDFLAGS=-Wl,-z,relro"
75
+
76
+ - os : ubuntu-20.04
56
77
cmp : gcc
57
78
configuration : default
58
- base : " 7.0"
59
- wine : " 64"
60
- name : " Ub-20 gcc-9 + MinGW"
79
+ cross : " windows-x64-mingw"
80
+ name : " Ub-20 gcc + MinGW"
61
81
62
- - os : ubuntu-latest
82
+ - os : ubuntu-20.04
63
83
cmp : gcc
64
84
configuration : static
65
- base : " 7.0"
66
- wine : " 64"
67
- name : " Ub-20 gcc-9 + MinGW, static"
85
+ cross : " windows-x64-mingw"
86
+ name : " Ub-20 gcc + MinGW, static"
68
87
69
- - os : ubuntu-latest
88
+ - os : ubuntu-20.04
70
89
cmp : gcc
71
90
configuration : static
72
- base : " 7.0"
73
91
extra : " CMD_CXXFLAGS=-std=c++11"
74
- name : " Ub-20 gcc-9 C++11, static"
92
+ name : " Ub-20 gcc C++11, static"
75
93
76
- - os : ubuntu-latest
94
+ - os : ubuntu-20.04
95
+ cmp : gcc
96
+ configuration : static
97
+ extra : " CMD_CFLAGS=-funsigned-char CMD_CXXFLAGS=-funsigned-char"
98
+ name : " Ub-20 gcc unsigned char"
99
+
100
+ - os : ubuntu-20.04
77
101
cmp : clang
78
102
configuration : default
79
- base : " 7.0"
80
- name : " Ub-20 clang-10"
103
+ name : " Ub-20 clang"
81
104
82
- - os : ubuntu-latest
105
+ - os : ubuntu-20.04
83
106
cmp : clang
84
107
configuration : default
85
- base : " 7.0"
86
108
extra : " CMD_CXXFLAGS=-std=c++11"
87
- name : " Ub-20 clang-10 C++11"
109
+ name : " Ub-20 clang C++11"
88
110
89
111
- os : ubuntu-20.04
90
112
cmp : gcc
91
113
configuration : default
92
- base : " 7.0"
93
- rtems : " 5"
94
- rtems_target : RTEMS-pc686-qemu
95
- name : " Ub-20 gcc-9 + RT-5.1 pc686"
114
+ cross : " RTEMS-pc686-qemu@5"
115
+ name : " Ub-20 gcc + RT-5.1 pc686"
96
116
97
117
- os : ubuntu-20.04
98
118
cmp : gcc
99
119
configuration : default
100
- base : " 7.0"
101
- rtems : " 5"
102
- rtems_target : RTEMS-beatnik
120
+ cross : " RTEMS-beatnik@5"
103
121
test : NO
104
- name : " Ub-20 gcc-9 + RT-5.1 beatnik"
122
+ name : " Ub-20 gcc + RT-5.1 beatnik"
105
123
106
124
- os : ubuntu-20.04
107
125
cmp : gcc
108
126
configuration : default
109
- base : " 7.0"
110
- rtems : " 5"
111
- rtems_target : RTEMS-xilinx_zynq_a9_qemu
127
+ cross : " RTEMS-xilinx_zynq_a9_qemu@5"
112
128
test : NO
113
- name : " Ub-20 gcc-9 + RT-5.1 xilinx_zynq_a9_qemu"
129
+ name : " Ub-20 gcc + RT-5.1 xilinx_zynq_a9_qemu"
114
130
115
131
- os : ubuntu-20.04
116
132
cmp : gcc
117
133
configuration : default
118
- base : " 7.0"
119
- rtems : " 5"
120
- rtems_target : RTEMS-uC5282
134
+ cross : " RTEMS-uC5282@5"
121
135
test : NO
122
- name : " Ub-20 gcc-9 + RT-5.1 uC5282"
136
+ name : " Ub-20 gcc + RT-5.1 uC5282"
123
137
124
138
- os : ubuntu-20.04
125
139
cmp : gcc
126
140
configuration : default
127
- base : " 7.0"
128
- rtems : " 4.10"
129
- name : " Ub-20 gcc-9 + RT-4.10"
130
- rtems_target : RTEMS-pc386-qemu
141
+ name : " Ub-20 gcc + RT-4.10"
142
+
131
143
test : NO
132
144
133
145
- os : ubuntu-20.04
134
146
cmp : gcc
135
147
configuration : default
136
- base : " 7.0"
137
- rtems : " 4.9"
138
- name : " Ub-20 gcc-9 + RT-4.9"
139
- rtems_target : RTEMS-pc386-qemu
140
-
141
- - os : ubuntu-20.04
142
- cmp : gcc
143
- configuration : default
144
- base : " 3.15"
145
- name : " Ub-20 3.15"
148
+ name : " Ub-20 gcc + RT-4.9"
149
+
146
150
147
151
- os : macos-latest
148
152
cmp : clang
149
153
configuration : default
150
- base : " 7.0"
151
- name : " MacOS clang-12"
154
+ name : " MacOS clang"
152
155
153
156
- os : windows-2019
154
157
cmp : vs2019
155
- configuration : default
156
- base : " 7.0"
158
+ configuration : debug
157
159
name : " Win2019 MSC-19"
160
+ extra : " CMD_CXXFLAGS=-analysis"
158
161
159
162
- os : windows-2019
160
163
cmp : vs2019
161
- configuration : static
162
- base : " 7.0"
164
+ configuration : static-debug
163
165
name : " Win2019 MSC-19, static"
166
+ extra : " CMD_CXXFLAGS=-analysis"
164
167
165
168
- os : windows-2019
166
169
cmp : vs2019
167
170
configuration : debug
168
- base : " 7.0"
169
171
name : " Win2019 MSC-19, debug"
170
172
171
173
- os : windows-2019
172
174
cmp : gcc
173
175
configuration : default
174
- base : " 7.0"
175
176
name : " Win2019 mingw"
176
177
178
+ # Linux cross builds
179
+
180
+ - os : ubuntu-latest
181
+ cmp : gcc
182
+ configuration : default
183
+ name : " Cross linux-aarch64"
184
+ cross : linux-aarch64
185
+
186
+ - os : ubuntu-latest
187
+ cmp : gcc
188
+ configuration : default
189
+ name : " Cross linux-arm gnueabi"
190
+ cross : linux-arm@arm-linux-gnueabi
191
+
192
+ - os : ubuntu-latest
193
+ cmp : gcc
194
+ configuration : default
195
+ name : " Cross linux-arm gnueabihf"
196
+ cross : linux-arm@arm-linux-gnueabihf
197
+
177
198
steps :
178
- - uses : actions/checkout@v3
199
+ - uses : actions/checkout@v4
179
200
with :
180
201
submodules : true
181
202
- name : Automatic core dumper analysis
@@ -209,45 +230,30 @@ jobs:
209
230
image : ${{ matrix.image }}
210
231
# Set environment variables from matrix parameters
211
232
env :
233
+ BASE : " 7.0"
212
234
CMP : ${{ matrix.cmp }}
213
235
BCFG : ${{ matrix.configuration }}
214
- BASE : ${{ matrix.base }}
215
236
EXTRA : ${{ matrix.extra }}
216
237
TEST : ${{ matrix.test }}
217
238
strategy :
218
239
fail-fast : false
219
240
matrix :
220
241
# Job names also name artifacts, character limitations apply
221
242
include :
222
- - name : " CentOS-7 3.16"
223
- image : centos:7
224
- cmp : gcc
225
- configuration : default
226
- base : " 3.16"
227
-
228
- - name : " CentOS-7 3.15"
229
- image : centos:7
230
- cmp : gcc
231
- configuration : default
232
- base : " 3.15"
233
-
234
- - name : " CentOS-7"
235
- image : centos:7
236
- cmp : gcc
237
- configuration : default
238
- base : " 7.0"
243
+ # - name: "CentOS-7"
244
+ # image: centos:7
245
+ # cmp: gcc
246
+ # configuration: default
239
247
240
248
- name : " Fedora-33"
241
249
image : fedora:33
242
250
cmp : gcc
243
251
configuration : default
244
- base : " 7.0"
245
252
246
253
- name : " Fedora-latest"
247
254
image : fedora:latest
248
255
cmp : gcc
249
256
configuration : default
250
- base : " 7.0"
251
257
252
258
steps :
253
259
- name : " Build newer Git"
@@ -276,11 +282,15 @@ jobs:
276
282
# people would rather just break all existing scripts...
277
283
[ -e /usr/bin/python ] || ln -sf python3 /usr/bin/python
278
284
python --version
279
- - uses : actions/checkout@v3
285
+ - uses : actions/checkout@v4
280
286
with :
281
287
submodules : true
282
288
- name : Automatic core dumper analysis
283
289
uses : mdavidsaver/ci-core-dumper@master
290
+ if : matrix.image!='centos:7'
291
+ - name : Automatic core dumper analysis
292
+ uses : mdavidsaver/ci-core-dumper@node16
293
+ if : matrix.image=='centos:7'
284
294
- name : Prepare and compile dependencies
285
295
run : python .ci/cue.py prepare
286
296
- name : Build main module
0 commit comments