构建 Haskell 项目

本指南涵盖的内容 #

有关语言版本和其他构建环境特定信息,请访问我们的参考页面

本指南的其余部分涵盖了在 Travis CI 上配置 Haskell 项目。如果您不熟悉 Travis CI,请先阅读我们的 教程构建配置 指南。

指定 Haskell 编译器版本 #

Travis CI 上的 Haskell 环境预装了最新版本的 GHC(Glasgow Haskell 编译器)。有关预装版本的详细列表,请查看构建日志中的“构建系统信息”。

您可以使用 major.minor 表示法指定一个或多个 GHC 版本。补丁级别版本(例如 7.6.2)可能会随时更改。

language: haskell
ghc:
  - "7.10"
  - "7.8"
  - "7.6"
  - "8.4.1"

依赖项管理 #

默认情况下,Travis CI 使用 cabal 来管理项目的依赖项。

cabal install --only-dependencies --enable-tests

指定 cabal-install 版本 #

您可以指定使用的 cabal 版本。

language: haskell
cabal: "2.4"
ghc:
  - "8.6.4"

子目录中的多个包 #

如果您在子目录中有多个包(每个包都包含一个 .cabal 文件),您可以在环境变量中指定这些目录。

language: haskell
ghc:
  - "7.10"
  - "7.8"
  - "7.6"
env:
  - PACKAGEDIR="some-package"
  - PACKAGEDIR="some-other-package"
before_install: cd ${PACKAGEDIR}

然后构建矩阵将被构建,以便每个包都使用每个版本的 GHC 进行编译。

Hackage 部署 #

Travis 可以自动将您的包上传到 Hackage。请参见 Hackage 部署

构建配置参考 #

您可以在我们的 Travis CI 构建配置参考 中找到有关 Haskell 的构建配置格式的更多信息。

使用 Stack 构建 #

如果您想使用 Stack 构建项目,请查看 Travis CI 上的 Stack