6

我最近一直在尝试将 travis CI 与堆栈一起使用,并且遇到了一些问题。

我的 .travis.yml 文件位于我的 repo 中:(我使用了堆栈网站上的指南)我的配置文件的快照如下:

sudo: false

# Caching so the next build will be fast too.
cache:
  directories:
  - $HOME/.stack

before_install:
# Download and unpack the stack executable
- mkdir -p ~/.local/bin
- export PATH=$HOME/.local/bin:$PATH
- travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'

当我将测试推送到 git 时,测试无法运行,travis CI 尝试构建我的 repo,但是当我检查日志时,它说它找不到堆栈命令。

但是在我的配置文件中,我指定它安装堆栈。

我不确定为什么会这样,任何帮助将不胜感激?

4

1 回答 1

5

我也见过这个。

[0K$ travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | \ tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'
/home/travis/build.sh: line 45:  tar: command not found
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

  0     0    0   607    0     0   7527      0 --:--:-- --:--:-- --:--:--  7527

  0 9223k    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
[31;1mThe command "curl -L https://www.stackage.org/stack/linux-x86_64" failed. Retrying, 2 of 3.[0m

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

  0     0    0   607    0     0   9491      0 --:--:-- --:--:-- --:--:--  9491

[31;1mThe command "curl -L https://www.stackage.org/stack/linux-x86_64" failed. Retrying, 3 of 3.[0m

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

  0     0    0   607    0     0  11999      0 --:--:-- --:--:-- --:--:-- 11999

[31;1mThe command "curl -L https://www.stackage.org/stack/linux-x86_64" failed 3 times.

这是curl由于某种网络问题而失败的时候。重新开始您的构建,并希望下次有更好的运气。

如果人们有兴趣,这是我完整但最小的.travis.yml

sudo: false

language: c

cache:
  directories:
    - ~/.stack

addons:
  apt:
    packages:
      - libgmp-dev

before_install:
  # Download and unpack the stack executable
  - mkdir -p ~/.local/bin
  - export PATH=$HOME/.local/bin:$PATH
  - travis_retry curl -L https://www.stackage.org/stack/linux-x86_64 | tar xz --wildcards --strip-components=1 -C ~/.local/bin '*/stack'

install:
  - stack --no-terminal --install-ghc test --only-dependencies

script:
  - stack --no-terminal test --haddock --no-haddock-deps
于 2016-08-14T14:37:40.673 回答