41
41
protonBranch : " ${{ github.event.inputs.protonBranch || 'main' }}"
42
42
43
43
jobs :
44
+
45
+ # #####################
46
+ # ## Ubuntu Compile ###
47
+ # #####################
48
+
44
49
compile :
45
- name : " Compile (${{matrix.os}}, ${{matrix.runtimeCheck}}, proton ${{matrix.protonGitRef}})"
50
+ name : " Compile (${{matrix.os}}, ${{matrix.buildType}}, ${{matrix. runtimeCheck}}, proton ${{matrix.protonGitRef}})"
46
51
runs-on : ${{ matrix.os }}
47
52
strategy :
48
53
fail-fast : false
49
54
matrix :
50
55
os : [ubuntu-22.04]
51
- buildType : [Debug]
52
- runtimeCheck : [asan]
56
+ buildType : [Debug, RelWithDebInfo ]
57
+ runtimeCheck : [asan, tsan ]
53
58
protonGitRef :
54
59
- ${{ github.event.inputs.protonBranch || 'main' }}
55
60
- 0.39.0
61
+ exclude :
62
+ - buildType : Debug
63
+ runtimeCheck : tsan
64
+ - buildType : RelWithDebInfo
65
+ runtimeCheck : asan
56
66
env :
57
67
CC : ' gcc-12'
58
68
CXX : ' g++-12'
@@ -141,7 +151,7 @@ jobs:
141
151
142
152
- name : Install Linux build dependencies
143
153
run : |
144
- sudo apt update; sudo apt install -y libdw-dev swig libpython3-dev libsasl2-dev libjsoncpp-dev libwebsockets-dev libnghttp2-dev ccache ninja-build pixz libbenchmark-dev nginx
154
+ sudo apt update; sudo apt install -y libdw-dev swig libpython3-dev libsasl2-dev libjsoncpp-dev libwebsockets-dev libnghttp2-dev ccache ninja-build pixz libbenchmark-dev nginx libunwind-dev
145
155
146
156
- name : Zero ccache stats
147
157
run : ccache -z
@@ -197,21 +207,31 @@ jobs:
197
207
name : skupper_router_wrk_${{env.JOB_IDENTIFIER}}
198
208
path : /tmp/archive.tar.xz
199
209
210
+
211
+ # ##################
212
+ # ## Ubuntu Test ###
213
+ # ##################
214
+
200
215
test :
201
- name : ' Test (${{matrix.os}}, ${{matrix.runtimeCheck}}, proton ${{matrix.protonGitRef}}, shard ${{matrix.shard}} of ${{matrix.shards}})'
216
+ name : ' Test (${{matrix.os}}, ${{matrix.buildType}}, ${{matrix. runtimeCheck}}, proton ${{matrix.protonGitRef}}, shard ${{matrix.shard}} of ${{matrix.shards}})'
202
217
runs-on : ${{ matrix.os }}
203
218
needs : [compile]
204
219
strategy :
205
220
fail-fast : false
206
221
matrix :
207
222
os : [ubuntu-22.04]
208
- buildType : [Debug]
209
- runtimeCheck : [asan]
223
+ buildType : [Debug, RelWithDebInfo ]
224
+ runtimeCheck : [asan, tsan ]
210
225
protonGitRef :
211
226
- ${{ github.event.inputs.protonBranch || 'main' }}
212
227
- 0.39.0
213
228
shard : [1, 2]
214
229
shards : [2]
230
+ exclude :
231
+ - buildType : Debug
232
+ runtimeCheck : tsan
233
+ - buildType : RelWithDebInfo
234
+ runtimeCheck : asan
215
235
env :
216
236
CC : ' gcc-12'
217
237
CXX : ' g++-12'
@@ -269,7 +289,7 @@ jobs:
269
289
run : |
270
290
sudo sysctl -w kernel.core_pattern="coredump.%e.%p"
271
291
ulimit -c unlimited
272
-
292
+ sudo sysctl -w vm.mmap_rnd_bits=28
273
293
ctest --timeout 1200 -V --output-junit=Testing/Test.xml --no-compress-output -I ${{matrix.shard}},,${{matrix.shards}} -j12 ${{env.RouterCTestExtraArgs}}
274
294
275
295
- name : Report coredump stacktraces (if any tests failed)
@@ -305,6 +325,11 @@ jobs:
305
325
path : |
306
326
**/coredump*
307
327
328
+
329
+ # ###################
330
+ # ## Raspberry PI ###
331
+ # ###################
332
+
308
333
compile_and_test_pi5 :
309
334
name : " Compile and Test on Pi 5 (aarch64 on Pi 5 proton main)"
310
335
runs-on : self-hosted-arm64
@@ -450,8 +475,13 @@ jobs:
450
475
path : |
451
476
**/coredump*
452
477
478
+
479
+ # ###################
480
+ # ## Fedora Tests ###
481
+ # ###################
482
+
453
483
compile_and_test :
454
- name : " Compile and Test (${{matrix.container}}:${{matrix.containerTag}}, ${{matrix.runtimeCheck}}, ${{matrix.cc }}, proton ${{matrix.protonGitRef}}, shard ${{matrix.shard}} of ${{matrix.shards}})"
484
+ name : " Compile and Test (${{matrix.container}}:${{matrix.containerTag}}, ${{matrix.buildType }}, proton ${{matrix.protonGitRef}}, shard ${{matrix.shard}} of ${{matrix.shards}})"
455
485
runs-on : ${{ matrix.os }}
456
486
strategy :
457
487
fail-fast : false
@@ -462,15 +492,15 @@ jobs:
462
492
cc : [gcc]
463
493
cxx : [g++]
464
494
python : [python3.11]
465
- buildType : [RelWithDebInfo]
466
- runtimeCheck : [asan, tsan ]
495
+ buildType : [RelWithDebInfo, Debug ]
496
+ runtimeCheck : [OFF ]
467
497
protonGitRef :
468
498
- ${{ github.event.inputs.protonBranch || 'main' }}
469
499
- 0.39.0
470
500
shard : [ 1, 2 ]
471
501
shards : [ 2 ]
472
502
include :
473
- # CentOS 9
503
+ # CentOS 9: Coverage Proton-main 1 of 2
474
504
- os : ubuntu-22.04
475
505
container : ' centos'
476
506
containerTag : stream9
@@ -483,6 +513,7 @@ jobs:
483
513
protonGitRef : ${{ github.event.inputs.protonBranch || 'main' }}
484
514
shard : 1
485
515
shards : 2
516
+ # CentOS 9: Coverage Proton-main 2 of 2
486
517
- os : ubuntu-22.04
487
518
container : ' centos'
488
519
containerTag : stream9
@@ -495,7 +526,7 @@ jobs:
495
526
protonGitRef : ${{ github.event.inputs.protonBranch || 'main' }}
496
527
shard : 2
497
528
shards : 2
498
- # CentOS 8
529
+ # CentOS 8: Release Proton-main 1 of 2
499
530
- os : ubuntu-22.04
500
531
container : ' centos'
501
532
containerTag : stream8
@@ -507,6 +538,7 @@ jobs:
507
538
protonGitRef : ${{ github.event.inputs.protonBranch || 'main' }}
508
539
shard : 1
509
540
shards : 2
541
+ # CentOS 8: Release Proton-main 2 of 2
510
542
- os : ubuntu-22.04
511
543
container : ' centos'
512
544
containerTag : stream8
@@ -518,43 +550,43 @@ jobs:
518
550
protonGitRef : ${{ github.event.inputs.protonBranch || 'main' }}
519
551
shard : 2
520
552
shards : 2
521
- - os : ubuntu-22.04
522
- container : ' centos'
523
- containerTag : stream8
524
- cc : gcc
525
- cxx : g++
526
- python : python3
527
- buildType : RelWithDebInfo
528
- runtimeCheck : OFF
529
- protonGitRef : 0.39.0
530
- shard : 1
531
- shards : 2
532
- - os : ubuntu-22.04
533
- container : ' centos'
534
- containerTag : stream8
535
- cc : gcc
536
- cxx : g++
537
- python : python3
538
- buildType : RelWithDebInfo
539
- runtimeCheck : OFF
540
- protonGitRef : 0.39.0
541
- shard : 2
542
- shards : 2
543
- # unittest coverage
544
- - os : ubuntu-22.04
545
- container : ' fedora'
546
- containerTag : 39
547
- cc : gcc
548
- cxx : g++
549
- python : python3.12
550
- buildType : Coverage
551
- covType : unit
552
- runtimeCheck : OFF
553
- protonGitRef : 0.39.0
554
- routerCTestExtraArgs : " -R 'unittests|unit_tests|threaded_timer_test|adaptor_buffer_test|router_engine_test|management_test|router_policy_test|test_command'"
555
- shard : 1
556
- shards : 1
557
- # clang
553
+ # - os: ubuntu-22.04
554
+ # container: 'centos'
555
+ # containerTag: stream8
556
+ # cc: gcc
557
+ # cxx: g++
558
+ # python: python3
559
+ # buildType: RelWithDebInfo
560
+ # runtimeCheck: OFF
561
+ # protonGitRef: 0.39.0
562
+ # shard: 1
563
+ # shards: 2
564
+ # - os: ubuntu-22.04
565
+ # container: 'centos'
566
+ # containerTag: stream8
567
+ # cc: gcc
568
+ # cxx: g++
569
+ # python: python3
570
+ # buildType: RelWithDebInfo
571
+ # runtimeCheck: OFF
572
+ # protonGitRef: 0.39.0
573
+ # shard: 2
574
+ # shards: 2
575
+ # # unittest coverage
576
+ # - os: ubuntu-22.04
577
+ # container: 'fedora'
578
+ # containerTag: 39
579
+ # cc: gcc
580
+ # cxx: g++
581
+ # python: python3.12
582
+ # buildType: Coverage
583
+ # covType: unit
584
+ # runtimeCheck: OFF
585
+ # protonGitRef: 0.39.0
586
+ # routerCTestExtraArgs: "-R 'unittests|unit_tests|threaded_timer_test|adaptor_buffer_test|router_engine_test|management_test|router_policy_test|test_command'"
587
+ # shard: 1
588
+ # shards: 1
589
+ # # clang
558
590
# - os: ubuntu-22.04
559
591
# container: 'fedora'
560
592
# containerTag: 39
@@ -867,6 +899,11 @@ jobs:
867
899
path : |
868
900
**/coredump*
869
901
902
+
903
+ # #####################
904
+ # ## Python Checker ###
905
+ # #####################
906
+
870
907
python :
871
908
name : ' Python Checker (${{ matrix.os }})'
872
909
runs-on : ' ${{ matrix.os }}'
@@ -923,6 +960,11 @@ jobs:
923
960
working-directory : ${{env.DispatchBuildDir}}
924
961
run : ctest -VV -R python-checker
925
962
963
+
964
+ # ##################################
965
+ # ## Profile Guided Optimization ###
966
+ # ##################################
967
+
926
968
pgo :
927
969
name : Profile Guided Optimization
928
970
runs-on : ubuntu-latest
@@ -1033,6 +1075,11 @@ jobs:
1033
1075
- name : skupper-router cmake build/install
1034
1076
run : cmake --build "${RouterBuildDir}" --config ${BuildType} --target install --parallel 6
1035
1077
1078
+
1079
+ # ##################################
1080
+ # ## AMD64 Container Image Build ###
1081
+ # ##################################
1082
+
1036
1083
container_amd64 :
1037
1084
name : amd64 container image
1038
1085
runs-on : ubuntu-latest
@@ -1100,6 +1147,11 @@ jobs:
1100
1147
podman run --rm --volume ${PODMAN_SOCK}:/var/run/docker.sock docker.io/anchore/grype:latest \
1101
1148
--only-fixed --fail-on low ${{ env.ImageName }}
1102
1149
1150
+
1151
+ # ###################################
1152
+ # ## ARM 64 Container Image Build ###
1153
+ # ###################################
1154
+
1103
1155
container_arm64 :
1104
1156
name : arm64 container image
1105
1157
runs-on : self-hosted-arm64
@@ -1198,6 +1250,11 @@ jobs:
1198
1250
man skstat
1199
1251
man skmanage
1200
1252
1253
+
1254
+ # ##########
1255
+ # ## RAT ###
1256
+ # ##########
1257
+
1201
1258
rat_check :
1202
1259
name : RAT Check
1203
1260
runs-on : ubuntu-latest
0 commit comments