You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 7, 2020. It is now read-only.
For each version of GHC supported, CircleCI will kick off a build that will build and test HIE for that version.
6
+
Whenever a new stack-x.y.z is added, be sure to also add it to both the `workflow` and `jobs` sections of `config.yml`.
7
+
8
+
In addition to the stack based jobs, there is also a job that builds HIE with `cabal new-build`.
9
+
Currently tests are not run as there is an issue with cabal-helper-wrapper that prevents any ghc-mod tests from passing.
10
+
11
+
## Docker
12
+
13
+
Each job is carried out in a Docker container built from https://github.com/alanz/haskell-dockerfiles/blob/master/haskell-hie-ci/Dockerfile
14
+
15
+
## Caching
16
+
17
+
Since HIE takes a long time to build, CI caches things very liberally.
18
+
Most importantly, the `~/.stack-work` directories for HIE as well as every submodule are cached before and after testing (This is so that if the build passes but the tests fail there is still something cached for the next build).
19
+
20
+
### Change detection
21
+
22
+
Before restoring any cache, the CircleCI job creates three files and uses their checksum to detect any changes:
23
+
24
+
1.`all-cabal.txt` detects any changes to `.cabal` files (not in submodules or test data)
25
+
2.`stack-build.txt` detects any changes to the `stack-x.y.z` file
26
+
3.`resolver.txt` detects any changes to the stack resolver
27
+
28
+
Each job will tries to restore the most specific cache avaialble for it, and fallback to a more general cache if not available:
0 commit comments