如何在 Travis CI 上部署 Agda 库?

How to deploy an Agda library on Travis CI?

我已经阅读了 agda-stdlib 项目中的 .travis.yml,虽然它与纯粹用 Agda 编写的简单库(没有那些 Haskell 代码和 Shell 脚本)。

我对 stdlib 的 .tarvis.yml 感到困惑。我已经通过 cabal install 安装了 agda,但是 stdlib 试图在 Travis CI 上克隆和编译 Agda,并且有很多命令似乎与构建它无关。

此外,agda-stdlib 似乎在 Ubuntu 的源代码中可用。这可能是安装它的第三种方法。

此外,stdlib 没有依赖项,但我有。我也不知道怎么加依赖

我的问题结论:

标准库有点特殊:它与 Agda 的开发版本同步发展。因此,通常情况下它无法使用您选择的发行版中现成的 Agda 版本进行编译(例如,因为它使用了事先不可用的语法!)并且它被迫从 github.

正在安装 Agda

如果您的库与分布式版本兼容,那么通过 apt-get install agda.

从存储库中提取它会简单得多

另外,Scott Fleischman 有一个关于如何使用 docker 图像对您的开发进行类型检查的基本示例:https://github.com/scott-fleischman/agda-travis

正在安装您的依赖项

如果您的项目依赖于依赖项,那么您确实需要安装它们。实际上,这可能意味着通过 wget 获取一堆 tarball,并让 ~/.agda/libraries 指向它们的库文件。

比照。 the manual on library management