-
-
Notifications
You must be signed in to change notification settings - Fork 378
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
CI: caching: closer match work/CI guarantees #2536
Conversation
`cabal v2-build all --enable-tests --enable-benchmarks` inferres 1 version per dep keeping all targets. People (frequently) & CI do `test` & `bench` separately. So `all tests` & `all bench` deps may not end up. Even current code does not match the CI guarantees, as all plugins get `test` separately, so their deps can not match-up. `caching` should not assume guarantees bigger then provided.
This workaround was not addressing the CI behaviour.
c9666eb
to
27ec2c8
Compare
all
&& test
&& benchmark
dep inconsistencies
I reformulated the PR to address the most important stuff in it. To match the process completely - we would need to run the |
Efficient use of available space.
[skip circleci] |
Co-authored-by: Javier Neira <atreyu.bbb@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, thanks!
Nice review. Would belabor additionally: now CI would start to cache |
After the recent merge |
* CI: caching: do `bench` & `test` separately `cabal v2-build all --enable-tests --enable-benchmarks` inferres 1 version per dep keeping all targets. People (frequently) & CI do `test` & `bench` separately. So `all tests` & `all bench` deps may not end up. Even current code does not match the CI guarantees, as all plugins get `test` separately, so their deps can not match-up. `caching` should not assume guarantees bigger then provided. * CI: caching: rm workaround This workaround was not addressing the CI behaviour. * CI: {caching, test, bench}: output `freeze` or warning * CI: {caching, test, bench}: m v2-update unification * CI: caching: do bench caching only for what gets used Efficient use of available space. * CI: caching: fx benchmark caching step Co-authored-by: Javier Neira <atreyu.bbb@gmail.com> * CI: {caching, test, bench}: `haskell/actions/setup` does the update * CI: caching: m fx Co-authored-by: Javier Neira <atreyu.bbb@gmail.com>
cabal v2-build all --enable-tests --enable-benchmark
problem - that command requires the level of dependency consistency guarantees that PR CI does not checks.test
workflow does essentiallycabal v2-build --enable-tests
on matrix by target.bench
workflow doescabal v2-build --enable-benchmarks
by target.caching
usedall --enable-tests --enable-benchmarks
- requiring total consistency.These changes are to make
caching
able to work whentest
&bench
depsversions are inconsistent (which is how CI & people use them - separately).
Workaround to CI platform
" needs to be removed either way, since I found out post hooks does not run if any of (even markedcontinue-on-error: true
) steps fail.