Improve CI turnaround time
I think that lately something has been going wrong with our CI, because it seems like the test step of the pipeline is recompiling the project from scratch, leading to a turnaround time (back to back) of 2 hours from when a commit is submitted to when it's finally executed. I think this is a bit too much.
I think we can improve things substantially if we disable the bench step for now (and perhaps investigate nightly builds in the future), because this way we can build the project by disabling the optimisations, which means it will build faster and we will be able to exploit caching between jobs. At the moment I think what happens is that the project gets built with the full optimisation on (so that cabal v2-bench
gives us reliable numbers) but then we have to rebuild everything during the test
step as we pass the test-crypto flag, to speed up test execution.
Also, by looking at the test
step of our pipeline, I think there is some caching that is not being triggered appropriately, as the test
step seems to complain that cabal2stack
cannot be found, and I think I know why -- when we merged my work to switch to cabal2stack I have forgot to update the Docker image, so we lost a bit of caching there -- mea culpa
cc @anoe I'll prioritise this, as having a snappy CI is very important.