@@ -121,18 +121,7 @@ defaults:
121
121
no_output_timeout : 30m
122
122
command : ./.circleci/soltest_all.sh
123
123
124
- - run_cmdline_tests : &run_cmdline_tests
125
- name : command line tests
126
- no_output_timeout : 30m
127
- command : ./test/cmdlineTests.sh
128
-
129
- - run_docs_pragma_min_version : &run_docs_pragma_min_version
130
- name : docs pragma version check
131
- command : ./scripts/docs_version_pragma_check.sh
132
-
133
- - test_ubuntu1604_clang : &test_ubuntu1604_clang
134
- docker :
135
- - image : << pipeline.parameters.ubuntu-1604-clang-ossfuzz-docker-image >>
124
+ - run_soltest_steps : &run_soltest_steps
136
125
steps :
137
126
- checkout
138
127
- attach_workspace :
@@ -141,50 +130,57 @@ defaults:
141
130
- store_test_results : *store_test_results
142
131
- store_artifacts : *artifacts_test_results
143
132
144
- - test_ubuntu2004_clang : &test_ubuntu2004_clang
145
- docker :
146
- - image : << pipeline.parameters.ubuntu-2004-clang-docker-image >>
133
+ - run_soltest_all_steps : &run_soltest_all_steps
147
134
steps :
148
135
- checkout
149
136
- attach_workspace :
150
137
at : build
151
- - run : *run_soltest
138
+ - run : *run_soltest_all
152
139
- store_test_results : *store_test_results
153
140
- store_artifacts : *artifacts_test_results
154
141
155
- - test_ubuntu2004 : &test_ubuntu2004
156
- docker :
157
- - image : << pipeline.parameters.ubuntu-2004-docker-image >>
158
- parallelism : 6
142
+ - run_cmdline_tests : &run_cmdline_tests
143
+ name : command line tests
144
+ no_output_timeout : 30m
145
+ command : ./test/cmdlineTests.sh
146
+
147
+ - run_cmdline_tests_steps : &run_cmdline_tests_steps
159
148
steps :
160
149
- checkout
161
150
- attach_workspace :
162
151
at : build
163
- - run : *run_soltest_all
152
+ - run : *run_cmdline_tests
164
153
- store_test_results : *store_test_results
165
154
- store_artifacts : *artifacts_test_results
166
155
156
+ - run_docs_pragma_min_version : &run_docs_pragma_min_version
157
+ name : docs pragma version check
158
+ command : ./scripts/docs_version_pragma_check.sh
159
+
160
+ - test_ubuntu1604_clang : &test_ubuntu1604_clang
161
+ docker :
162
+ - image : << pipeline.parameters.ubuntu-1604-clang-ossfuzz-docker-image >>
163
+ << : *run_soltest_steps
164
+
165
+ - test_ubuntu2004_clang : &test_ubuntu2004_clang
166
+ docker :
167
+ - image : << pipeline.parameters.ubuntu-2004-clang-docker-image >>
168
+ << : *run_soltest_steps
169
+
170
+ - test_ubuntu2004 : &test_ubuntu2004
171
+ docker :
172
+ - image : << pipeline.parameters.ubuntu-2004-docker-image >>
173
+ parallelism : 6
174
+ << : *run_soltest_all_steps
175
+
167
176
- test_asan : &test_asan
168
177
<< : *test_ubuntu2004
169
- steps :
170
- - checkout
171
- - attach_workspace :
172
- at : build
173
- - run :
174
- << : *run_soltest
175
- - store_test_results : *store_test_results
176
- - store_artifacts : *artifacts_test_results
178
+ << : *run_soltest_steps
177
179
178
- - test_asan_clang : &test_asan_clang
179
- << : *test_ubuntu2004_clang
180
- steps :
181
- - checkout
182
- - attach_workspace :
183
- at : build
184
- - run :
185
- << : *run_soltest
186
- - store_test_results : *store_test_results
187
- - store_artifacts : *artifacts_test_results
180
+ - test_ubuntu2004_clang_cli : &test_ubuntu2004_clang_cli
181
+ docker :
182
+ - image : << pipeline.parameters.ubuntu-2004-clang-docker-image >>
183
+ << : *run_cmdline_tests_steps
188
184
189
185
# --------------------------------------------------------------------------
190
186
# Workflow Templates
@@ -239,6 +235,11 @@ defaults:
239
235
requires :
240
236
- b_ubu_asan_clang
241
237
238
+ - workflow_ubuntu2004_ubsan_clang : &workflow_ubuntu2004_ubsan_clang
239
+ << : *workflow_trigger_on_tags
240
+ requires :
241
+ - b_ubu_ubsan_clang
242
+
242
243
- workflow_emscripten : &workflow_emscripten
243
244
<< : *workflow_trigger_on_tags
244
245
requires :
@@ -433,7 +434,7 @@ jobs:
433
434
name : Python unit tests
434
435
command : python.exe test/pyscriptTests.py
435
436
436
- b_ubu_clang : &build_ubuntu2004_clang
437
+ b_ubu_clang : &b_ubu_clang
437
438
resource_class : xlarge
438
439
docker :
439
440
- image : << pipeline.parameters.ubuntu-2004-clang-docker-image >>
@@ -447,8 +448,7 @@ jobs:
447
448
- store_artifacts : *artifacts_solc
448
449
- persist_to_workspace : *artifacts_executables
449
450
450
-
451
- b_ubu_asan_clang : &build_ubuntu2004_clang
451
+ b_ubu_asan_clang : &b_ubu_asan_clang
452
452
docker :
453
453
- image : << pipeline.parameters.ubuntu-2004-clang-docker-image >>
454
454
environment :
@@ -462,7 +462,22 @@ jobs:
462
462
- store_artifacts : *artifacts_solc
463
463
- persist_to_workspace : *artifacts_executables
464
464
465
- b_ubu : &build_ubuntu2004
465
+ b_ubu_ubsan_clang : &b_ubu_ubsan_clang
466
+ docker :
467
+ - image : << pipeline.parameters.ubuntu-2004-clang-docker-image >>
468
+ environment :
469
+ CC : clang
470
+ CXX : clang++
471
+ CMAKE_OPTIONS : -DSANITIZE=undefined
472
+ MAKEFLAGS : -j 3
473
+ steps :
474
+ - checkout
475
+ - run : *run_build
476
+ - run : *gitter_notify_failure
477
+ - store_artifacts : *artifacts_solc
478
+ - persist_to_workspace : *artifacts_executables
479
+
480
+ b_ubu : &b_ubu
466
481
resource_class : xlarge
467
482
docker :
468
483
- image : << pipeline.parameters.ubuntu-2004-docker-image >>
@@ -475,14 +490,14 @@ jobs:
475
490
- store_artifacts : *artifacts_tools
476
491
- persist_to_workspace : *artifacts_executables
477
492
478
- b_ubu_release : &build_ubuntu2004_release
479
- << : *build_ubuntu2004
493
+ b_ubu_release : &b_ubu_release
494
+ << : *b_ubu
480
495
environment :
481
496
FORCE_RELEASE : ON
482
497
MAKEFLAGS : -j 10
483
498
484
499
b_ubu_static :
485
- << : *build_ubuntu2004
500
+ << : *b_ubu
486
501
environment :
487
502
MAKEFLAGS : -j 10
488
503
CMAKE_OPTIONS : -DCMAKE_BUILD_TYPE=Release -DUSE_Z3_DLOPEN=ON -DUSE_CVC4=OFF -DSOLC_STATIC_STDLIBS=ON
@@ -495,7 +510,7 @@ jobs:
495
510
- store_artifacts : *artifacts_solc
496
511
497
512
b_ubu_codecov :
498
- << : *build_ubuntu2004
513
+ << : *b_ubu
499
514
environment :
500
515
COVERAGE : ON
501
516
CMAKE_BUILD_TYPE : Debug
@@ -529,7 +544,7 @@ jobs:
529
544
# Builds in C++20 mode and uses debug build in order to speed up.
530
545
# Do *NOT* store any artifacts or workspace as we don't run tests on this build.
531
546
b_ubu_cxx20 :
532
- << : *build_ubuntu2004
547
+ << : *b_ubu
533
548
environment :
534
549
CMAKE_BUILD_TYPE : Debug
535
550
CMAKE_OPTIONS : -DCMAKE_CXX_STANDARD=20 -DUSE_CVC4=OFF
@@ -538,7 +553,7 @@ jobs:
538
553
- checkout
539
554
- run : *run_build
540
555
541
- b_ubu_ossfuzz : &build_ubuntu1604_clang
556
+ b_ubu_ossfuzz : &b_ubu_ossfuzz
542
557
docker :
543
558
- image : << pipeline.parameters.ubuntu-1604-clang-ossfuzz-docker-image >>
544
559
environment :
@@ -683,7 +698,7 @@ jobs:
683
698
684
699
# x64 ASAN build, for testing for memory related bugs
685
700
b_ubu_asan : &b_ubu_asan
686
- << : *build_ubuntu2004
701
+ << : *b_ubu
687
702
environment :
688
703
CMAKE_OPTIONS : -DSANITIZE=address
689
704
MAKEFLAGS : -j 10
@@ -768,13 +783,7 @@ jobs:
768
783
- image : << pipeline.parameters.ubuntu-2004-docker-image >>
769
784
environment :
770
785
TERM : xterm
771
- steps :
772
- - checkout
773
- - attach_workspace :
774
- at : build
775
- - run : *run_cmdline_tests
776
- - store_test_results : *store_test_results
777
- - store_artifacts : *artifacts_test_results
786
+ << : *run_cmdline_tests_steps
778
787
779
788
t_ubu_release_cli : &t_ubu_release_cli
780
789
<< : *t_ubu_cli
@@ -784,14 +793,7 @@ jobs:
784
793
environment :
785
794
TERM : xterm
786
795
ASAN_OPTIONS : check_initialization_order=true:detect_stack_use_after_return=true:strict_init_order=true:strict_string_checks=true:detect_invalid_pointer_pairs=2
787
- steps :
788
- - checkout
789
- - attach_workspace :
790
- at : build
791
- - run :
792
- << : *run_cmdline_tests
793
- - store_test_results : *store_test_results
794
- - store_artifacts : *artifacts_test_results
796
+ << : *run_cmdline_tests_steps
795
797
796
798
t_ubu_asan_constantinople :
797
799
<< : *test_asan
@@ -802,13 +804,37 @@ jobs:
802
804
ASAN_OPTIONS : check_initialization_order=true:detect_stack_use_after_return=true:strict_init_order=true:strict_string_checks=true:detect_invalid_pointer_pairs=2
803
805
804
806
t_ubu_asan_constantinople_clang :
805
- << : *test_asan_clang
807
+ << : *test_ubuntu2004_clang
806
808
environment :
807
809
EVM : constantinople
808
810
OPTIMIZE : 0
809
811
SOLTEST_FLAGS : --no-smt
810
812
ASAN_OPTIONS : check_initialization_order=true:detect_stack_use_after_return=true:strict_init_order=true:strict_string_checks=true:detect_invalid_pointer_pairs=2
811
813
814
+ t_ubu_ubsan_clang :
815
+ docker :
816
+ - image : << pipeline.parameters.ubuntu-2004-clang-docker-image >>
817
+ steps :
818
+ - checkout
819
+ - attach_workspace :
820
+ at : build
821
+ - run : *run_soltest
822
+ - run : *gitter_notify_failure
823
+ - store_test_results : *store_test_results
824
+ - store_artifacts : *artifacts_test_results
825
+
826
+ t_ubu_ubsan_clang_cli :
827
+ docker :
828
+ - image : << pipeline.parameters.ubuntu-2004-clang-docker-image >>
829
+ steps :
830
+ - checkout
831
+ - attach_workspace :
832
+ at : build
833
+ - run : *run_cmdline_tests
834
+ - run : *gitter_notify_failure
835
+ - store_test_results : *store_test_results
836
+ - store_artifacts : *artifacts_test_results
837
+
812
838
t_ems_solcjs :
813
839
docker :
814
840
- image : << pipeline.parameters.ubuntu-2004-docker-image >>
@@ -1208,6 +1234,11 @@ workflows:
1208
1234
- t_ubu_asan_constantinople_clang : *workflow_ubuntu2004_asan_clang
1209
1235
- t_ubu_asan_cli : *workflow_ubuntu2004_asan
1210
1236
1237
+ # UBSan build and tests
1238
+ - b_ubu_ubsan_clang : *workflow_trigger_on_tags
1239
+ - t_ubu_ubsan_clang : *workflow_ubuntu2004_ubsan_clang
1240
+ - t_ubu_ubsan_clang_cli : *workflow_ubuntu2004_ubsan_clang
1241
+
1211
1242
# Emscripten build and tests that take more than 15 minutes to execute
1212
1243
- b_ems : *workflow_trigger_on_tags
1213
1244
- t_ems_ext :
0 commit comments