New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CI: {caching,test,bench}: mk cache aware of package dep versions #2532
Merged
jneira
merged 7 commits into
haskell:master
from
Anton-Latukha:2021-12-23-ci-make-caches-depend-on-package-vers
Dec 24, 2021
Merged
CI: {caching,test,bench}: mk cache aware of package dep versions #2532
jneira
merged 7 commits into
haskell:master
from
Anton-Latukha:2021-12-23-ci-make-caches-depend-on-package-vers
Dec 24, 2021
Commits on Dec 23, 2021
-
CI: {caching,test,bench}: mk cache aware of package dep versions
1. CI caches 3rd patry dependency binaries. 2. That is why we do not want to trigger on all `.cabal` changes. We want to cache only when changes in `.cabal` descriptions lead to changes in versions of deps used, or in their compilation flags. `freeze` files: For example the bits of the resulting `.freeze` file: active-repositories: hackage.haskell.org:merge constraints: any.Boolean ==0.2.4, ... any.HsYAML ==0.2.1.0, HsYAML -exe, any.HsYAML-aeson ==0.2.0.1, HsYAML-aeson -exe, any.JuicyPixels ==3.3.6, JuicyPixels -mmap, any.MemoTrie ==0.6.10, MemoTrie -examples, ... any.QuickCheck ==2.14.2, QuickCheck -old-random +templatehaskell, aeson -bytestring-builder -cffi -developer -fast, ... any.aeson-pretty ==0.8.9, aeson-pretty -lib-only, bifunctors +semigroups +tagged, any.blaze-textual ==0.2.2.1, blaze-textual -developer -integer-simple +native, ... any.brittany ==0.13.1.2, brittany -brittany-dev-lib -brittany-test-perf, ... any.clock ==0.8.2, clock -llvm, any.cmdargs ==0.10.21, cmdargs +quotation -testprog, ... any.comonad ==5.0.8, comonad +containers +distributive +indexed-traversable, ... any.hashtables ==1.2.4.2, hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks, haskell-language-server -alternatenumberformat +brittany +callhierarchy +class +eval +floskell +fourmolu +haddockcomments +hlint -ignore-plugins-ghc-bounds +importlens +modulename +ormolu -pedantic +pragmas +qualifyimportednames +refineimports -rename +retrie +splice +stylishhaskell +tactic, ... any.hlint ==3.2.7, hlint -ghc-lib +gpl -hsyaml +threaded, hls-eval-plugin -pedantic, hls-graph -embed-files -pedantic -stm-stats, hls-hlint-plugin -ghc-lib -hlint33 -pedantic, ... any.integer-logarithms ==1.0.3.1, integer-logarithms -check-bounds +integer-gmp, ... any.lens ==5.0.1, lens -benchmark-uniplate -dump-splices +inlining -j +test-hunit +test-properties +test-templates +trustworthy, ... any.scientific ==0.3.7.0, scientific -bytestring-builder -integer-simple, any.semigroupoids ==5.3.6, semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers, any.semigroups ==0.19.2, semigroups +binary +bytestring -bytestring-builder +containers +deepseq +hashable +tagged +template-haskell +text +transformers +unordered-containers, ... any.transformers-compat ==0.6.6, transformers-compat -five +five-three -four +generic-deriving +mtl -three -two, ... any.vector ==0.12.3.1, vector +boundschecks -internalchecks -unsafechecks -wall, any.vector-algorithms ==0.8.0.4, vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks, ... index-state: hackage.haskell.org 2021-11-29T12:28:17Z ``` You got the idea. `freeze` collects stuff for dependencies. I also checked - it solves & collects all package configuration across all subprojects in one file.
Configuration menu - View commit details
-
Copy full SHA for 874d500 - Browse repository at this point
Copy the full SHA 874d500View commit details -
CI: {caching,test,bench}: freeze: allow to fail
Before we not had this at all. Now - most cases would use it. But for example, all HLS subprojects can not solve single version of deps for GHC 9.0 at once. And depending on `.cabal` is not the right way, as it means to account of only 1 configuration of many in the project.
Configuration menu - View commit details
-
Copy full SHA for bed87e8 - Browse repository at this point
Copy the full SHA bed87e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2e65651 - Browse repository at this point
Copy the full SHA 2e65651View commit details -
Configuration menu - View commit details
-
Copy full SHA for 258ed91 - Browse repository at this point
Copy the full SHA 258ed91View commit details -
Configuration menu - View commit details
-
Copy full SHA for 482bc66 - Browse repository at this point
Copy the full SHA 482bc66View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0c521cc - Browse repository at this point
Copy the full SHA 0c521ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for b08c434 - Browse repository at this point
Copy the full SHA b08c434View commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.