-
Notifications
You must be signed in to change notification settings - Fork 0
/
.scrutinizer.yml
532 lines (530 loc) · 34.8 KB
/
.scrutinizer.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
checks:
php:
check_method_contracts:
verify_interface_like_constraints: true
verify_documented_constraints: true
verify_parent_constraints: true
return_doc_comments: true
simplify_boolean_return: true
no_long_variable_names:
maximum: '20'
more_specific_types_in_doc_comments: true
return_doc_comment_if_not_inferrable: true
param_doc_comment_if_not_inferrable: true
parameter_doc_comments: true
no_goto: true
properties_in_camelcaps: true
parameters_in_camelcaps: true
no_short_method_names:
minimum: '3'
overriding_parameter: true
phpunit_assertions: true
naming_conventions:
local_variable: '^[a-z][a-zA-Z0-9]*$'
abstract_class_name: ^Abstract|Factory$
utility_class_name: 'Utils?$'
constant_name: '^[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)*$'
property_name: '^[a-z][a-zA-Z0-9]*$'
method_name: '^(?:[a-z]|__)[a-zA-Z0-9]*$'
parameter_name: '^[a-z][a-zA-Z0-9]*$'
interface_name: '^[A-Z][a-zA-Z0-9]*Interface$'
type_name: '^[A-Z][a-zA-Z0-9]*$'
exception_name: '^[A-Z][a-zA-Z0-9]*Exception$'
isser_method_name: '^(?:is|has|should|may|supports)'
javascript:
var_sometimes_initialized: true
var_never_initialized: true
use_isnan: true
unsafe_undefined: true
unsafe_mutable_variable_usage: true
nsp_vulnerabilities: true
no_with: true
no_void: true
no_use_before_define: true
no_unused_vars: true
no_unused_function: true
no_unused_expressions: true
no_unused_const: true
no_unused_assignment: true
no_unreachable: true
no_undef_init: true
no_undef: true
no_shadow_builtins: true
no_sequences: true
no_return_assign: true
no_redeclared_const: true
no_redeclare: true
no_process_exit: true
no_path_concat: true
no_param_assign: true
no_new_wrappers: true
no_new_require: true
no_new_func: true
no_native_reassign: true
no_loop_var_assign: true
no_label_var: true
no_invalid_regexp: true
no_inner_declarations: true
no_implied_eval: true
no_implicit_undefined_return: true
no_func_assign: true
no_extra_bind: true
no_extend_native: true
no_ex_assign: true
no_eval: true
no_empty_label: true
no_else_return: true
no_dupe_keys: true
no_delete_var: true
no_debugger: true
no_constant_condition: true
no_caller: true
no_bitwise: true
no_array_constructor: true
no_alias_builtins: true
no_alert: true
new_cap: true
jsdoc_non_existent_params: true
guard_for_in: true
eqeqeq: true
consistent_return: true
code_rating: true
check_unused_parameters: true
check_unused_object_creation: true
check_unnecessary_return: true
check_unnecessary_continue: true
check_undeclared_vars: true
check_try_statement: true
check_too_many_arguments: true
check_switch_unintended label: true
check_switch_default_only: true
check_switch_ambiguous_test: true
check_loop_no_body: true
check_for_loops_test: true
build:
image: default-bionic
nodes:
analysis:
environment:
php:
version: 8.0.13
project_setup:
override: true
tests:
override:
- phpcs-run
- php-scrutinizer-run --enable-security-analysis
- js-scrutinizer-run
tests:
environment:
variables:
MY_PATH: '/home/scrutinizer/vault/'
TEST_LANGUAGE_VARIANTS: 0
DEBIAN_FRONTEND: 'noninteractive'
php:
version: 8.0.13
hosts:
ci.test: 127.0.0.1
apache2:
modules: [ 'ssl' ]
sites:
domain:
web_root: web/
host: ci.test
dependencies:
before:
- sudo DEBIAN_FRONTEND=noninteractive apt-get -y install imagemagick libmagickcore-dev libmagickwand-dev libmagic-dev jq xmlstarlet openssl shellcheck
- /home/scrutinizer/.phpenv/versions/8.0.13/bin/pear config-set download_dir /tmp
- /home/scrutinizer/.phpenv/versions/8.0.13/bin/pear config-set cache_dir /tmp
- /home/scrutinizer/.phpenv/versions/8.0.13/bin/pear config-set temp_dir /tmp
- /home/scrutinizer/.phpenv/versions/8.0.13/bin/pecl update-channels
- sudo printf "\n" | /home/scrutinizer/.phpenv/versions/8.0.13/bin/pecl install imagick
- sudo apachectl restart
- git submodule update --init
- sudo cp -r /home/scrutinizer/build/tests/nsis3 /usr/local/share
- git clone https://github.com/mtrojnar/osslsigncode.git
- cd osslsigncode
- git checkout 2.1
- ./autogen.sh
- ./configure
- make
- sudo make install
- sudo -H /home/scrutinizer/.pyenv/shims/python3.7 -m pip install pylint distro
project_setup:
override:
- cd /home/scrutinizer/build
- mysql -h 127.0.0.1 -u root -e 'create database cat'
- mysql -h 127.0.0.1 -u root cat < schema/schema.sql
- mysql -h 127.0.0.1 -u root cat < tests/cat_integration_scrutinizer.sql
- |
echo "<?php
namespace config;
class Master {
const APPEARANCE = [
'productname' => 'CAT',
'productname_long' => 'Configuration Assistant Tool',
'defaultlocale' => 'en',
'skins' => ['modern', 'example'],
];
const FUNCTIONALITY_LOCATIONS =
['CONFASSISTANT_SILVERBULLET' => 'LOCAL',
'CONFASSISTANT_RADIUS' => 'LOCAL',
'DIAGNOSTICS' => 'LOCAL',
];
const PATHS = ['logdir' => '/home/scrutinizer/', 'openssl' => '/usr/bin/openssl', 'cat_base_url' => '/' ];
const AUTHENTICATION = [];
const GEOIP = [];
const MAILSETTINGS = [];
const LANGUAGES = [
'bg' => ['display' => 'Български', 'locale' => 'bg_BG.utf8', 'latin_based' => FALSE],
'ca' => ['display' => 'Català', 'locale' => 'ca_ES.utf8', 'latin_based' => TRUE],
'cs' => ['display' => 'Čeština', 'locale' => 'cs_CZ.utf8', 'latin_based' => TRUE],
'de' => ['display' => 'Deutsch', 'locale' => 'de_DE.utf8', 'latin_based' => TRUE],
'el' => ['display' => 'Ελληνικά', 'locale' => 'el_GR.utf8', 'latin_based' => FALSE],
'en' => ['display' => 'English(GB)', 'locale' => 'en_GB.utf8', 'latin_based' => TRUE],
'es' => ['display' => 'Español', 'locale' => 'es_ES.utf8', 'latin_based' => TRUE],
'et' => ['display' => 'Eesti', 'locale' => 'et_EE.utf8', 'latin_based' => TRUE],
'fr' => ['display' => 'Français', 'locale' => 'fr_FR.utf8', 'latin_based' => TRUE],
'hr' => ['display' => 'Hrvatski', 'locale' => 'hr_HR.utf8', 'latin_based' => TRUE],
'hu' => ['display' => 'Magyar', 'locale' => 'hu_HU.utf8', 'latin_based' => TRUE],
'it' => ['display' => 'Italiano', 'locale' => 'it_IT.utf8', 'latin_based' => TRUE],
'nb' => ['display' => 'Norsk', 'locale' => 'nb_NO.utf8', 'latin_based' => TRUE],
'pl' => ['display' => 'Polski', 'locale' => 'pl_PL.utf8', 'latin_based' => TRUE],
'pt' => ['display' => 'Português', 'locale' => 'pt_PT.utf8', 'latin_based' => TRUE],
'sl' => ['display' => 'Slovenščina', 'locale' => 'sl_SI.utf8', 'latin_based' => TRUE],
'sr' => ['display' => 'Srpski', 'locale' => 'sr_RS@latin', 'latin_based' => TRUE],
'fi' => ['display' => 'Suomi', 'locale' => 'fi_FI.utf8', 'latin_based' => TRUE],
'tr' => ['display' => 'Türkçe', 'locale' => 'tr_TR.utf8', 'latin_based' => TRUE],
];
const DB = [
'INST' => ['host' => '127.0.0.1', 'db' => 'cat', 'user' => 'root', 'pass' => NULL, 'readonly' => FALSE],
'FRONTEND' => ['host' => '127.0.0.1', 'db' => 'cat', 'user' => 'root', 'pass' => NULL, 'readonly' => FALSE],
'USER' => ['host' => '127.0.0.1', 'db' => 'cat', 'user' => 'root', 'pass' => NULL, 'readonly' => FALSE],
'EXTERNAL' => ['host' => '127.0.0.1', 'db' => 'cat', 'user' => 'root', 'pass' => NULL, 'readonly' => FALSE],
];
const MAX_UPLOAD_SIZE = 100000000;
const DEBUG_LEVEL = 5;
const SUPERADMINS = [];
}" >/home/scrutinizer/build/config/Master.php
- |
echo "<?php
namespace config;
class ConfAssistant {
const CONSORTIUM = [
'name' => 'eduroam',
'display_name' => 'eduroam®',
'nomenclature_federation' => 'National Roaming Operator',
'nomenclature_idp' => 'Identity Provider',
'nomenclature_hotspot' => 'Hotspot',
'homepage' => 'https://www.eduroam.org',
'nomenclature_participant' => 'Customer',
'ssid' => [ 'eduroam' ],
'registration_API_keys' => [ 'iabcd' => 'LU' ],
];
const SILVERBULLET = [
'documentation' => 'https://wiki.geant.org/pages/viewpage.action?pageId=66650390',
];
const PATHS = [ 'makensis' => '/home/scrutinizer/build/tests/nsis3/bin/makensis' ];
const NSIS_VERSION = 3;
const USE_KEYWORDS = true;
const PRELOAD_IDPS = true;
}" >/home/scrutinizer/build/config/ConfAssistant.php
- |
echo "
namespace config;
class Diagnostics {
const RADIUSTESTS = [];
}" >/home/scrutinizer/build/config/Diagnostics.php
- |
echo "
-----BEGIN CERTIFICATE-----
MIIGXjCCBEagAwIBAgIJAO9pbGGmiAY9MA0GCSqGSIb3DQEBDQUAMIG6MRMwEQYK
CZImiZPyLGQBGRYDb3JnMRkwFwYKCZImiZPyLGQBGRYJMXgtY29uZmlnMTgwNgYD
VQQKEy9FbnRlcnByaXNlIE5ldHdvcmsgQ29uZmlndXJhdGlvbiBBc3Npc3RhbnQg
VG9vbDEmMCQGA1UECxMdU2NydXRpbml6ZXIgSW50ZWdyYXRpb24gVGVzdHMxJjAk
BgNVBAMTHUNsaWVudCBDZXJ0aWZpY2F0ZSBJc3N1aW5nIENBMCAXDTE3MDMzMDEx
MDExMloYDzIwNzIwMTAxMTEwMTEyWjCBujETMBEGCgmSJomT8ixkARkWA29yZzEZ
MBcGCgmSJomT8ixkARkWCTF4LWNvbmZpZzE4MDYGA1UEChMvRW50ZXJwcmlzZSBO
ZXR3b3JrIENvbmZpZ3VyYXRpb24gQXNzaXN0YW50IFRvb2wxJjAkBgNVBAsTHVNj
cnV0aW5pemVyIEludGVncmF0aW9uIFRlc3RzMSYwJAYDVQQDEx1DbGllbnQgQ2Vy
dGlmaWNhdGUgSXNzdWluZyBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
ggIBAM/hHQ9Yq+HDRovc/joBpl86D1RoVgNCb9tJ1OEFv0lbqQc9jdKVOfJxjPSl
UyZqFp3mp8j9eUN8Xcxw7AJtSoUVurHa/coTVUMssvQfkDQz9zTaWjyslQREpIe9
ufbY1baULt43hfYGB82f7yvNOAjSmzLuKDd9jMDbQqlo1W92GiyA/hiVxya/hni+
55zVmNrm/9du0zG9esJLv66r/N0AQUdVDdZE2k3ZhXwqobg6ym+kyQIxJSpBsgn2
Wyp5hJnJI3C9XhTlpN6nUE2CSkQhBbgdHQsERdzgWBrmDZunyS3kfQfI/eQXzeew
Nz6BlXeUjnCUNIso6S9YbNswz+WNHGjWJ7HdG2pwH9R4W2KUp8xCnhXpmJKgsnSK
HF1I4NQuuIcHW4Shtie6vPAVLBO3OkmpbEYHu1Q8Cv62pdpiyZLMNISUXv4ceDu2
iPrpqX7gU/MIdPxCdtZD1SJQeEAFd2ETyV2stXpzmh/9VvNTnvno05iNFw1XzjPc
5HEcGaChF45X7sEt+gVVPhLTk7qxO5v0z4BfXX0jASexg/NHBJHir2K6B8oU5+re
6jOrWW+QlA3Vx+yV1HO7WCpWHLqTfEh6xx635Q4sGl/a28Svra2Nr7xiwY+9tjUN
tLSkQfgXpCtFR+/pn1CezFiKCOE2d6o7lFc1z05Oa30w96qBAgMBAAGjYzBhMB0G
A1UdDgQWBBRoxvvluZf6wA/ewBxSEYLPdzMTPjAfBgNVHSMEGDAWgBRoxvvluZf6
wA/ewBxSEYLPdzMTPjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAN
BgkqhkiG9w0BAQ0FAAOCAgEAtzvQrN1/SKqw4VHRn2pHSOFOQiw06isPw4mqK2zZ
w/8olsB8sp0lLak7GE6GykDFTimTMz/WxoKxZld/IR2H69wDeDRjXz8HqWt9gkjw
E9QZ16AvZKBNVLQfS4UEpj99S9Sk91WIulCFivKfNE5V/9UJmADD9j+hWkKM1AWj
wbF96orjFVvjapGV1QN8ZYgZxeZXLiJ90DeQI7VDwdvCfh84PIK4cZW+9eVk4gBi
SVWxxLT9vf/+M1XIiumF/oM3+8vnghDpYOGjyz6mMfPm+t0xoRLOeoPg2F58dNLw
z1kbwDww2uMW5QikJuRCw6Gdh7GIxwBYtB9rANw/FnvpIQyZZHluVRKDr2FvO5+a
jPN4PDY3qr5Ou5gO51aRG7kQ5AVXAXlrlGhoiO8KmE3nV8yTMr30uNucu04RbehM
ZqdZdD/Fr2WqUX8fDA6DpGFuQh8AullVKEi4FuKXOtWItULj8E9S5vfedIdFoGLw
VhrI1wUlDuaB0n9luIZJyhWAJ+CACPLyUCUccwJijV1kSkoQfd4BN+EVik1OEVoA
hJq0/cRNFwGunljrIwYwkbB4NIrl60GWi4l8Y9K3GKUkT6Zvc8IyBS6YR91BVFxh
HPDMtGU/bPQ12hAigmtchTB6VHVQpSNExpFkoBkwjUrWuqUK44rCTixrZIR8qeeo
le8=
-----END CERTIFICATE-----" >/home/scrutinizer/build/config/SilverbulletClientCerts/real-RSA.pem
- |
echo "
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----" >/home/scrutinizer/build/config/SilverbulletClientCerts/real-RSA.key
- |
echo "
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----" >/home/scrutinizer/codesigningca.pem
- |
echo "
-----BEGIN CERTIFICATE-----
MIIFlDCCA3ygAwIBAgICAQAwDQYJKoZIhvcNAQENBQAwbjELMAkGA1UEBhMCWFgx
FDASBgNVBAcTC0NvZGluZyBUb3duMQ0wCwYDVQQKEwROb25lMTowOAYDVQQDEzFT
Y3J1dGluaXplciBDSSBOb3QgUmVhbGx5IFRydXN0ZWQgQ29kZSBTaWduaW5nIENB
MB4XDTE4MTAxODA3NTYyOVoXDTI4MTAxNTA3NTYyOVowazELMAkGA1UEBhMCWFgx
FDASBgNVBAcTC0NvZGluZyBUb3duMQ0wCwYDVQQKEwROb25lMTcwNQYDVQQDEy5V
bnRydXN0ZWQgYW5kIFVzZWxlc3MgQ29kZSBTaWduaW5nIENlcnRpZmljYXRlMIIC
IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA2zV0C02oZW0qwOIt40XFW+Ua
EWqbNBRgeJj4obpiuQnnsOISHVgPLbvXjHyDkVrUhdpujf5UoIQXN6nytP4MvdAS
PP+CO99i1Y8oMA+JEv28LG1kQiW5978SidVkaRZ+g9j0Py3PUI9pK9bQC+gHQb5m
aanqwD9dsnz45Ck4K32M9IFwmzCMwnZLKgMSGOJa8nOuFMO2DRQYkuKjkQzHgaxP
CvzjaFNfs7Ul4EbtMa4tPCks2vKyfNn1500q539VwtgcQFy0M2CPhNanw85wMQSC
ifXEaqaqQQoIaOip31058eCrLkn5RXTmyqx8MaIOQzZVSQN3GesoLC5K8YUJek99
dp3Yl5o7zGWnzYYzEiBUpd8mxC6LLXZ5t0WyJfpHgfgysErN9/b4cMfcr0Ea7KRz
kPh9JjvqkMwc3QXSGe/SDpAcuBEKi4oo5BrcFqpHUttKVu9C1BeZHHZ9zSGaCeN6
2dPdR0jXe5dYT1hWn9kxoZp9u0v9xU67llSv3u+KFZyvOBDQGBFr4q0yN+vIUECc
lOOoi7Xcw+pkRZhCx0BstUaV/tffnP9KwIPsOw8dPyZSV+zkklSdI2m5T/qQFPOb
dxY9e1tyewwitVi7P1jJJy4lTNnU5DilI4P24vlpVovMnqlkZYvrkCotcTROtwx5
IAaRk1wxOQSxw0eeUUcCAwEAAaM/MD0wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8E
BAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFCAICMA0GCSqGSIb3DQEB
DQUAA4ICAQC3OfsseaMAvMhbxAVnrZk6Lgq8Nh4D6PnUucGqNvXV+HO/JcoH25mH
6xtWUb4Nz/OGxOFDRcPmBpCoFXMPxxTovqhkpAAay6VACnbnW61oO0+ikyCk+ZYY
+OWgRMZ1xFtEfwvzbM8ILkFoeJXZHy0ozVxNxGLKG/t0uM6ltrpMnDTtOu1fB3sr
4ggJPtIT4pTYj9TURdBw/Od5lbIKv/BObZu8+SbRD1sHd7hRPfdst2mr/0G1kMOV
w64j1XdEi7Qx8N+LUgKYMFBJX2wTNE/l8+WdTNLbT1D/k/zPn6ld5y7pRDd453Io
asiP+smdnErwIR4+7Ptlh7DHLU1nMAv/VsWyO2OuuleJEZNQWep/N/gEs/KHrtVF
hy9kR9eyTJyHugiCvGyxM9wpfsj6UTUP4LBU3QucfJOsYiEaDqkwXbtwYDBDzlAL
4XDYseqwHy685yQkF/derhyAJLknHYLav16qtB/BR2FcriH0kJvPAh11DZbkEYeL
HZzQ+c2wzakT15RxL1fQmo4xZv2LecdQggs8LiupN8MdvtIR/GmTsDX4XJXJ178N
M97pbR2HB2aHCeyAnt+IJ9dOBU6k4bxkYy8l0vKcY0V3ed6YA26WMVWms6tVNR+7
8bN+CUnDB21DHc4DtoiorHXtON8Z7nD87ACQZEJ/SfqMkN7+RumNBA==
-----END CERTIFICATE-----" >/home/scrutinizer/codesigningcert.pem
- |
echo "
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----" >/home/scrutinizer/codesigningcert-key.pem
- mkdir /home/scrutinizer/vault
- openssl rsa -in /home/scrutinizer/codesigningcert-key.pem -out /home/scrutinizer/vault/xxx_key.der -outform der
- openssl crl2pkcs7 -nocrl -certfile /home/scrutinizer/codesigningcert.pem -certfile /home/scrutinizer/codesigningca.pem -outform DER -out /home/scrutinizer/vault/xxx.spc
- cp /home/scrutinizer/codesigningca.pem /home/scrutinizer/vault/CAs.pem
- cp /home/scrutinizer/codesigningcert.pem /home/scrutinizer/vault/xxx_cert.pem
- cp /home/scrutinizer/codesigningcert-key.pem /home/scrutinizer/vault/xxx_key.pem
- cp /home/scrutinizer/build/devices/Devices-template.php /home/scrutinizer/build/devices/Devices.php
- cp /home/scrutinizer/build/signer/mobileconfig_sign-template /home/scrutinizer/build/signer/mobileconfig_sign
- cp /home/scrutinizer/build/signer/ms_windows_sign-template /home/scrutinizer/build/signer/ms_windows_sign
- sudo chown scrutinizer:scrutinizer /home/scrutinizer/.rnd
tests:
override:
-
command: wget http://ci.test/index.php -O /home/scrutinizer/artifacts/frontpage.html --no-verbose
title: "Checking if front page loads without errors"
-
command: wget http://ci.test/admin/API.php -O /home/scrutinizer/artifacts/inst.log --method=POST --no-verbose --body-file=tests/inst.json
title: "Creating a new participant organisation via API call"
-
command: wget http://ci.test/admin/API.php -O /home/scrutinizer/artifacts/profile.log --method=POST --no-verbose --body-file=tests/profile1.json
title: "Creating a new RADIUS profile for this organisation via API call"
-
command: wget http://ci.test/user/API.php?action=downloadInstaller\&api_version=2\&lang=en\&device=chromeos\&profile=3 -O /home/scrutinizer/artifacts/ChromeInstaller.onc --no-verbose
title: "Generating a ChromeOS installer via API call"
-
command: cat /home/scrutinizer/artifacts/ChromeInstaller.onc | jq -r .Type | grep UnencryptedConfiguration
title: "Checking whether output parses as JSON with expected top-level parameter"
-
command: wget http://ci.test/user/API.php?action=downloadInstaller\&api_version=2\&lang=en\&device=w10\&profile=3 -O /home/scrutinizer/artifacts/WinInstaller.exe --no-verbose
title: "Generating Windows 10 installer via API call"
-
command: file /home/scrutinizer/artifacts/WinInstaller.exe | egrep 'executable.*Intel.*Windows.*Nullsoft'
title: "Checking whether output is a Windows executable and Nullsoft installer"
-
command: wget http://ci.test/user/API.php?action=downloadInstaller\&api_version=2\&lang=en\&device=apple_hi_sierra\&profile=3 -O /home/scrutinizer/artifacts/AppleInstaller.mobileconfig --no-verbose
title: "Generating a Apple High Sierra installer via API call"
-
command: openssl smime -verify -in /home/scrutinizer/artifacts/AppleInstaller.mobileconfig -inform der -noverify 2>&1 | egrep '(Verification successful|plist)' | wc -l | grep 4
title: "Checking whether output is a S/MIME signed Apple plist file"
-
command: wget http://ci.test/user/API.php?action=downloadInstaller\&api_version=2\&lang=en\&device=linux\&profile=3 -O /home/scrutinizer/artifacts/LinuxInstaller.py --no-verbose
title: "Generating a Linux (Python) installer via API call"
-
command: /home/scrutinizer/.pyenv/versions/3.7.2/bin/pylint -E /home/scrutinizer/artifacts/LinuxInstaller.py
title: "Checking whether output is a error-free Python file"
-
command: wget http://ci.test/user/API.php?action=downloadInstaller\&api_version=2\&lang=en\&device=linux_sh\&profile=3 -O /home/scrutinizer/artifacts/LinuxInstaller.sh --no-verbose
title: "Generating a Linux (Bash) installer via API call"
-
command: shellcheck /home/scrutinizer/artifacts/LinuxInstaller.sh
title: "Checking whether output is a error-free Bash script"
-
command: wget http://ci.test/user/API.php?action=downloadInstaller\&api_version=2\&lang=en\&device=eap-config\&profile=3 -O /home/scrutinizer/artifacts/GenericInstaller.xml --no-verbose
title: "Generating an eap-config XML file via API call"
-
command: xmlstarlet val -s "/home/scrutinizer/build/devices/xml/eap-metadata.xsd" "/home/scrutinizer/artifacts/GenericInstaller.xml"
title: "Checking whether output is well-formed XML and validates against Schema"
-
command: if [ "$TEST_LANGUAGE_VARIANTS" == "1" ]; then cd /home/scrutinizer/build/utils; /home/scrutinizer/.phpenv/versions/8.0.13/bin/php installTranslations.php; sudo apachectl restart; cd /home/scrutinizer/build/tests; /home/scrutinizer/.phpenv/versions/8.0.13/bin/php prepareMultiLangDownloads.php; /bin/bash ./langTestScript.sh; fi
services:
mariadb: 10
tools:
php_code_coverage:
enabled: true
filter:
excluded_paths:
- "web/external/*"
- "web/apidoc/*"
- "vendor/*"
- "tests/*"
dependency_paths:
- "core/PHPMailer/"
- "core/phpqrcode.php"
- "core/GeoIP2/"
- "core/PHPUnit/"
- "core/simpleSAMLphp/"