Open philippotto opened 2 months ago
Looks like the backend linter scapegoat runs clean first. It may help to do this step before the build task :thinking:
Edit: tried that here https://app.circleci.com/pipelines/github/scalableminds/webknossos/18008/workflows/19b7c598-5689-4aca-a3be-4729ca70b9f1/jobs/29519 but did not help, the compile step compiled everything again :thinking:
If I'm reading this issue correctly, scapegoat needs to clean the target folder so the entire code can be linted because that happens during compilation :thinking: so, the code is compiled twice effectively. it probably would make sense to run scapegoat during the normal compilation. maybe this helps? https://github.com/scapegoat-scala/sbt-scapegoat/issues/54 I'm not familiar with the sbt build process, so I can only guess..
Can we do a similar diff of the changes like in wk-libs
? Or at least group frontend/backend steps? There is no need to build a WK docker image if I only do frontend changes and it crashes in formatting or unit testing.
7966 already implements some improvements. Additional ideas from here (quoting @daniel-wer):
Downloading: downloaded 13.01GiB, expanded to 14.54GiB, ratio 0.90, after 4m11.724810166s.
). This is likely due to the docker layer caching (DLC) that is turned on. The caching should be worthwhile but one could still test to delete the docker layer cache and compare times without it (note that the DLC push at the end also takes 1-2m!). Also one could check whether the cache size inflated over time and whether a reset might shrink it back down again.Also related: Skip some CI steps depending on diff to master #6523