#processes #automated #manual #run #applications #yaml #ask

bin+lib checklist

一个用于运行手动和自动化流程检查清单的程序

4 个版本

0.3.0 2020年7月9日
0.2.4 2020年1月12日
0.2.3 2019年8月8日
0.2.2 2019年8月8日

#18 in #ask

Apache-2.0

20KB
336 代码行

checklist

一个用于运行流程的检查清单应用程序

Build Status Dependabot Status

这是一个旨在帮助您通过可重复流程的应用程序。 checklist 将运行当前目录中存在的任何 .checklist.yml 文件。目前只有一个检查清单被使用,名为 'committing'。

---
schema_version: 2
committing:
  automated:
    - git log origin/master..HEAD --oneline | grep -v WIP  # abort if WIP comment is seen
    - cargo test
  manual:
    - checked that the version number has been bumped
    - checked that the schema version number has been bumped

这将自动运行 git log [...]cargo test,如果失败则退出。然后它会询问您是否执行了其他两个任务。请注意,自动化任务是通过 duct_sh 传递给 shell 的,这意味着它们可以使用管道和其他 shell(无论是 /bin/sh 还是 cmd.exe)支持的任何功能。特别需要注意的是:在上述示例中,# 被YAML本身解释为注释,在将命令传递给shell之前被删除。

checklist 的精神是,有些检查过于粗糙,不能放在 CI 上,而有些检查需要人类大脑来执行。我们仍然应该记录并运行这些检查,不让完美成为敌人。

建议将 .checklist.yml 放入您的 .gitignore.git/info/exclude 中,并将它们视为个人文件而不是仓库文件。您可能希望使用类似 gnu stow 的程序来将这些文件保持在源控制中,但放在它们自己的仓库中。有关于如何操作的 几篇教程

.checklist 文件保留给自己有以下优点:您可以将所需的任何脚本或提示放入其中。它应该生活在代码审查和适当的 CI 生态系统中,而不是取代其中任何一个。

依赖关系

~9–20MB
~271K SLoC