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
20KB
336 代码行
checklist
一个用于运行流程的检查清单应用程序
这是一个旨在帮助您通过可重复流程的应用程序。 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