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_clangandt_ubu_ubsan_clang_clicould userun_soltest_steps.run_soltest_stepscannot be added to an existing list of steps but it you could probably embed inside a step by using awhenparameter of arunstep.t_ems_extjob 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_clangandb_ubu_ubsan_clang.t_osx_soltestandt_osx_cli.b_bytecode_ubu,b_bytecode_osxandb_bytecode_win.TERMvariable 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_clangort_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_ubuntu2004runssoltest_allwhiletest_ubuntu2004_clangruns 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 alsoparallelismand 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_060branch. Do we even still have that branch? We're already at 0.8.x.run_soltest_all_stepsthat actually containsteps:key rather thanrun:. They should be renamed to start withsteps_. E.g.steps_soltest_allrun_steps should be moved to theBuild Templatessection.b_ubu_asanshould be moved next tob_ubu_asan_clang.The text was updated successfully, but these errors were encountered: