Simplify and deduplicate CircleCI config #11846
Projects
Comments
Great! Which one you'd like to try? I think it would be best to do it step by step, with small focused PRs, instead of creating a big one fixing it all in one go. I expect this will require some trial and error and a full CI run takes about 1h. |
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This came up in #11823.
Our .circleci/config.yml file is pretty long. I went through the file and here's a bunch of changes that we could do to improve it.
Deduplication:
t_archlinux_soltest
,t_ubu_soltest_enforce_yul
,t_ubu_ubsan_clang
andt_ubu_ubsan_clang_cli
could userun_soltest_steps
.run_soltest_steps
cannot be added to an existing list of steps but it you could probably embed inside a step by using awhen
parameter of arun
step.t_ems_ext
job for an example; also Reusable Config Reference Guide). If not, it might at least be possible to extract reusable steps from them:b_ubu_clang
,b_ubu_asan_clang
andb_ubu_ubsan_clang
.t_osx_soltest
andt_osx_cli
.b_bytecode_ubu
,b_bytecode_osx
andb_bytecode_win
.TERM
variable toxterm
. I think it would not hurt to just have it set once, globally, so that we do not have to worry about it.Refactors:
test_
templates (e.g.test_ubuntu1604_clang
ort_ubu_soltest
) seem a bit pointless because their steps are almost always overwritten. And when they're not, they're misleading because it's not apparent which steps they run just from their name. For exampletest_ubuntu2004
runssoltest_all
whiletest_ubuntu2004_clang
runs onlysoltest
. And after #11823 (comment) it's easy to explicitly specify their steps directly in the job anyway. I think that a better system would be to convert these templates into base dicts that just set the base docker image (maybe alsoparallelism
and resource class). I'd remove steps from them (move them to jobs). I'd useimage_
orbase_
prefix instead oftest_
and rename the section.Cleanup:
develop_060
branch. Do we even still have that branch? We're already at 0.8.x.run_soltest_all_steps
that actually containsteps:
key rather thanrun:
. They should be renamed to start withsteps_
. E.g.steps_soltest_all
run_
steps should be moved to theBuild Templates
section.b_ubu_asan
should be moved next tob_ubu_asan_clang
.The text was updated successfully, but these errors were encountered: