如何在Travis CI上部署Agda库?

4

我已阅读了agda-stdlib项目中的.travis.yml,它与纯Agda编写的简单库非常不同和复杂(不包含那些Haskell代码和Shell脚本)。

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

此外,agda-stdlib似乎可以在Ubuntu源上获得。这可能是第三种安装方法。

此外,stdlib没有依赖性,但我有。我也不知道如何添加依赖项。

我的问题结论:

  • 在上述3种安装agda的选择中,我应该选择哪一个?
  • 如何添加让agda编译器知道我实际使用的依赖项?
1个回答

1
标准库是一个特殊情况:它与Agda的开发版本同步演进。因此,通常情况下,它无法使用您选择的发行版中可用的Agda版本进行编译(例如,因为它使用以前不可用的语法!),因此必须从github获取最新版本。
安装Agda
如果您的库与分布式版本兼容,则最简单的方法是通过apt-get install agda从存储库中拉取它。
另外,Scott Fleischman提供了一个基本示例,说明如何使用docker镜像来检查您的开发:https://github.com/scott-fleischman/agda-travis 安装依赖项
如果您的项目依赖于依赖项,则确实需要安装它们。在实践中,这可能意味着通过wget获取一堆tarball,并具有指向其库文件的~/.agda/libraries。
参见关于库管理的手册

“官方来源”是什么意思? - gallais
我尝试使用Travis CI的内置apt支持,并下载了agda。它是v2.3.x... 我甚至找不到像Agda.Builtin.Nat这样的包。 - ice1000

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接