Rom*_*cía 4 haskell ghc gitlab gitlab-ci haskell-stack
我正在使用以下.gitlab-ci.yml
文件为使用stack new actividad3 --resolver=lts-14.6
.
image: haskell:8.6.5
cache:
paths:
- .stack
- .stack-work
- target
test:
stage: test
script:
- ghc --version
- stack --system-ghc build
- stack test
Run Code Online (Sandbox Code Playgroud)
构建和测试该项目持续了近 5 分钟。大部分时间都花在构建 hspec 库上。有什么方法可以在管道运行之间缓存使用的库吗?
提前致谢。
将这些部分添加到您的.gitlab-ci.yml
:
variables:
STACK_ROOT: "${CI_PROJECT_DIR}/.stack-root"
cache:
paths:
- .stack-work/
- .stack-root/
Run Code Online (Sandbox Code Playgroud)
env$STACK_ROOT
变量更改其全局文件使用的文件夹堆栈。这是必需的,因为 GitLab CI 只能缓存项目文件夹下的文件,所以缓存$HOME/.stack
,~/.stack
或/root/.stack
将不起作用。
网上的一些相关参考: