最近話題のHaskellのビルドツールstackをCircleCIでビルドする方法の一例を紹介します。
下記のようにcircle.yml
を書けばOKです。
dependencies:
cache_directories:
- "~/.stack"
pre:
- wget -q -O- https://s3.amazonaws.com/download.fpcomplete.com/ubuntu/fpco.key | sudo apt-key add -
- echo 'deb http://download.fpcomplete.com/ubuntu/precise stable main'|sudo tee /etc/apt/sources.list.d/fpco.list
- sudo apt-get update && sudo apt-get install stack -y
override:
- stack setup
- stack build
- stack build --test --only-dependencies
test:
override:
- stack test
override
でテストに必要なライブラリをビルドしておくと、それもキャッシュされるので以降のビルドが早いです。
こちらを参考にしました。
https://gist.github.com/dbp/bef96402ea07001dfed2
上記の設定はhs-git-gsubというリポジトリで実際に使っています。正確に言うと728329b
時点の設定を一部改変したもので、ビルド結果はこちらです。
stackについては下記リンクをご参照ください。