Skip to content

Commit 8510362

Browse files
authored
Merge pull request #11896 from yatharthagoenka/ci-config
Simplifying CircleCi Config: Job aliases
2 parents 5c3bcb6 + bdf84c9 commit 8510362

File tree

1 file changed

+46
-56
lines changed

1 file changed

+46
-56
lines changed

.circleci/config.yml

Lines changed: 46 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,16 @@ defaults:
214214
command: ./test/lsp.py ./build/solc/solc
215215
- gitter_notify_failure_unless_pr
216216

217+
- steps_build: &steps_build
218+
steps:
219+
- checkout
220+
- run: *run_build
221+
- store_artifacts: *artifacts_solc
222+
- store_artifacts: *artifact_solidity_upgrade
223+
- store_artifacts: *artifact_yul_phaser
224+
- persist_to_workspace: *artifacts_executables
225+
- gitter_notify_failure_unless_pr
226+
217227
- steps_soltest_all: &steps_soltest_all
218228
steps:
219229
- checkout
@@ -234,6 +244,14 @@ defaults:
234244
- store_artifacts: *artifacts_test_results
235245
- gitter_notify_failure_unless_pr
236246

247+
- steps_install_dependencies_osx: &steps_install_dependencies_osx
248+
steps:
249+
- restore_cache:
250+
keys:
251+
- dependencies-osx-{{ arch }}-{{ checksum ".circleci/osx_install_dependencies.sh" }}
252+
- attach_workspace:
253+
at: .
254+
237255
# --------------------------------------------------------------------------
238256
# Base Image Templates
239257

@@ -586,6 +604,15 @@ defaults:
586604
nodejs_version: '14'
587605
resource_class: medium
588606

607+
- job_b_ubu_asan_clang: &job_b_ubu_asan_clang
608+
<<: *workflow_trigger_on_tags
609+
name: b_ubu_asan_clang
610+
cmake_options: -DSANITIZE=address
611+
- job_b_ubu_ubsan_clang: &job_b_ubu_ubsan_clang
612+
<<: *workflow_trigger_on_tags
613+
name: b_ubu_ubsan_clang
614+
cmake_options: -DSANITIZE=address
615+
589616
# -----------------------------------------------------------------------------------------------
590617
jobs:
591618

@@ -731,14 +758,7 @@ jobs:
731758
# this runs 2x faster on xlarge but takes 4x more resources (compared to medium).
732759
# Enough other jobs depend on it that it's worth it though.
733760
<<: *base_ubuntu2004_xlarge
734-
steps:
735-
- checkout
736-
- run: *run_build
737-
- store_artifacts: *artifacts_solc
738-
- store_artifacts: *artifact_solidity_upgrade
739-
- store_artifacts: *artifact_yul_phaser
740-
- persist_to_workspace: *artifacts_executables
741-
- gitter_notify_failure_unless_pr
761+
<<: *steps_build
742762

743763
# x64 ASAN build, for testing for memory related bugs
744764
b_ubu_asan: &b_ubu_asan
@@ -748,12 +768,7 @@ jobs:
748768
CMAKE_OPTIONS: -DSANITIZE=address
749769
MAKEFLAGS: -j 3
750770
CMAKE_BUILD_TYPE: Release
751-
steps:
752-
- checkout
753-
- run: *run_build
754-
- store_artifacts: *artifacts_solc
755-
- persist_to_workspace: *artifacts_executables
756-
- gitter_notify_failure_unless_pr
771+
<<: *steps_build
757772

758773
b_ubu_clang: &b_ubu_clang
759774
<<: *base_ubuntu2004_clang_large
@@ -762,42 +777,21 @@ jobs:
762777
CC: clang
763778
CXX: clang++
764779
MAKEFLAGS: -j 10
765-
steps:
766-
- checkout
767-
- run: *run_build
768-
- store_artifacts: *artifacts_solc
769-
- persist_to_workspace: *artifacts_executables
770-
- gitter_notify_failure_unless_pr
780+
<<: *steps_build
771781

772-
b_ubu_asan_clang: &b_ubu_asan_clang
773-
# This runs a bit faster on large and xlarge but on nightly efficiency matters more.
774-
<<: *base_ubuntu2004_clang
775-
environment:
776-
CC: clang
777-
CXX: clang++
778-
CMAKE_OPTIONS: -DSANITIZE=address
779-
MAKEFLAGS: -j 3
780-
steps:
781-
- checkout
782-
- run: *run_build
783-
- store_artifacts: *artifacts_solc
784-
- persist_to_workspace: *artifacts_executables
785-
- gitter_notify_failure_unless_pr
786-
787-
b_ubu_ubsan_clang: &b_ubu_ubsan_clang
782+
b_ubu_san_clang:
788783
# This runs a bit faster on large and xlarge but on nightly efficiency matters more.
784+
parameters:
785+
cmake_options:
786+
type: string
789787
<<: *base_ubuntu2004_clang
790788
environment:
789+
TERM: xterm
791790
CC: clang
792791
CXX: clang++
793-
CMAKE_OPTIONS: -DSANITIZE=undefined
794792
MAKEFLAGS: -j 3
795-
steps:
796-
- checkout
797-
- run: *run_build
798-
- store_artifacts: *artifacts_solc
799-
- persist_to_workspace: *artifacts_executables
800-
- gitter_notify_failure_unless_pr
793+
CMAKE_OPTIONS: << parameters.cmake_options >>
794+
<<: *steps_build
801795

802796
b_ubu_release: &b_ubu_release
803797
<<: *b_ubu
@@ -949,19 +943,17 @@ jobs:
949943
- build/test/tools/solfuzzer
950944
- gitter_notify_failure_unless_pr
951945

952-
t_osx_soltest:
946+
t_osx_soltest: &t_osx_soltest
953947
<<: *base_osx
954948
environment:
955949
EVM: << pipeline.parameters.evm-version >>
956950
OPTIMIZE: 0
957951
TERM: xterm
958952
steps:
959953
- checkout
960-
- restore_cache:
961-
keys:
962-
- dependencies-osx-{{ arch }}-{{ checksum ".circleci/osx_install_dependencies.sh" }}
963-
- attach_workspace:
964-
at: .
954+
- when:
955+
condition: true
956+
<<: *steps_install_dependencies_osx
965957
- run: *run_soltest
966958
- store_test_results: *store_test_results
967959
- store_artifacts: *artifacts_test_results
@@ -971,11 +963,9 @@ jobs:
971963
<<: *base_osx
972964
steps:
973965
- checkout
974-
- restore_cache:
975-
keys:
976-
- dependencies-osx-{{ arch }}-{{ checksum ".circleci/osx_install_dependencies.sh" }}
977-
- attach_workspace:
978-
at: .
966+
- when:
967+
condition: true
968+
<<: *steps_install_dependencies_osx
979969
- run: *run_cmdline_tests
980970
- store_artifacts: *artifacts_test_results
981971
- gitter_notify_failure_unless_pr
@@ -1519,13 +1509,13 @@ workflows:
15191509

15201510
# ASan build and tests
15211511
- b_ubu_asan: *workflow_trigger_on_tags
1522-
- b_ubu_asan_clang: *workflow_trigger_on_tags
1512+
- b_ubu_san_clang: *job_b_ubu_asan_clang
15231513
- t_ubu_asan_soltest: *workflow_ubuntu2004_asan
15241514
- t_ubu_asan_clang_soltest: *workflow_ubuntu2004_asan_clang
15251515
- t_ubu_asan_cli: *workflow_ubuntu2004_asan
15261516

15271517
# UBSan build and tests
1528-
- b_ubu_ubsan_clang: *workflow_trigger_on_tags
1518+
- b_ubu_san_clang: *job_b_ubu_ubsan_clang
15291519
- t_ubu_ubsan_clang_soltest: *workflow_ubuntu2004_ubsan_clang
15301520
- t_ubu_ubsan_clang_cli: *workflow_ubuntu2004_ubsan_clang
15311521

0 commit comments

Comments
 (0)