簡體   English   中英

特拉維斯應如何指定解析器(和GHC)來測試我的Haskell軟件包?

[英]How do specify the resolver (and GHC) Travis should use to test my Haskell package?

我正在嘗試針對Travis上的多個Stackage解析器測試Haskell軟件包 ,但是我的--resolver環境變量被忽略了。

例如,如果我指定

env:
- ARGS="--resolver lts-4.0"

在我的.travis.yml ,我仍然似乎仍在使用其他解析器(在我的stack.yaml嗎?)和GHC中,如以下行所示

Installing library in
/home/travis/build/orome/crypto-enigma-hs/.stack-work/install/x86_64-linux/lts-9.1/8.0.2/lib/x86_64-linux-ghc-8.0.2/crypto-enigma-0.0.2.9-6Cs7XSzJkwSDxsEMnLKb0X

在相應的構建日志中 ,它指示一個不同的解析器(9.1),並使用了相應的GHC(8.0.2)。

如何配置我的構建( stack.yaml.travis.yml等),以確保使用我指定的解析器(和相應的GHC)執行Travis構建和測試?

使用env您只需定義環境變量。 您仍然必須使用它們。 stack本身不遵守ARGS變量,因此請在腳本中使用它,例如

install:
# Build dependencies
- stack $ARGS --no-terminal --install-ghc test --only-dependencies

script:
# Build the package, its tests, and its docs and run the tests
- stack $ARGS --no-terminal --install-ghc test --haddock --no-haddock-deps

您可能應該使用更好的名稱,例如RESOLVER

env:
- RESOLVER=lts-4.0
- RESOLVER=lts-6.0
- RESOLVER=lts-8.0

install:
# Build dependencies
- stack --resolver $RESOLVER --no-terminal --install-ghc test --only-dependencies

script:
# Build the package, its tests, and its docs and run the tests
- stack --resolver $RESOLVER --no-terminal --install-ghc test --haddock --no-haddock-deps

還請記住,通常最好使用多個stack.yml來保存該特定LTS變體的配置。

有關更多信息,請參見stack的Travis文檔Travis的環境變量文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM