管理hackage版本

时间:2017-06-03 07:37:55

标签: git haskell github travis-ci hackage

目前,当我想更新我的一个hackage包时,我会完成这个过程。

  1. 将更改推送到github
  2. 等待travis-ci运行更改,以确保我没有收到任何构建错误。
  3. 上传到hackage
  4. 在git中标记版本。
  5. 当然,如果上一步成功,我只想做这些步骤。

    我认为其他人有类似的工作流程,有什么能完成所有这些步骤吗?我可以在脚本中做(1),(3)和(4),虽然(2)我不太确定(也就是检查travis-ci的结果)但是因为这似乎是一个常见的问题我想知道是否有人已经解决了它,所以我不会重新发明轮子。

1 个答案:

答案 0 :(得分:2)

Travis CI文档如今变得非常简单,您可以按照deployment的文档进行设置,以进行条件部署(即制作git标签时)。您也可以将其配置为直接部署到黑客,per travis docs

这是一个半完整的示例配置:

deploy:
  provider: hackage
  username: "Hackage User Name"
  password: "Hackage Password"
  on:
    tags: true

每个Travis文档注意:“建议对密码进行加密。假设您已安装Travis CI命令行客户端,则可以这样操作:travis encrypt --add deploy.password”。有关此方面的更多帮助,请参见他们的docs on encryption,因为不幸的是我之前没有做过那部分。

这会稍微改变您的工作流程;最终结果将是:

  1. 标记更改并将其推送到GitHub
  2. 等待Travis进行测试,如果一切顺利,Travis将为您上传到Hackage
  3. 如果一切都不好,请修复该错误,然后选择一个新标签。您也许可以通过删除和重新标记来重新使用该标记,但是我不确定Travis是否会接受

因此,如果您可以在本地运行任何测试,则可以合理地确保一切正常,可以标记一个发行版并进行推送,其余部分由Travis完成。