文档 - 自动测试和与 GitHub 的集成
Documentation - automatic tests and integration with GitHub
我正在研究 docs-only project (all files are HTML or MD) hosted on GitHub. I'd like each pull request to be automatically tested with spellchecker and write-good。我正在考虑为此使用 Travis CI,但是我不能使用重建所有内容的默认方法。对于文档项目,这是不可取的,因为:
- 文档中的每个文件都是独立的(无需在每次更改时构建整个项目),
- 一些 spellchecker/write-good 建议值得商榷(或完全错误),应忽略(例如,因为它们缺少上下文)。
我不希望所有拉取请求都失败并显示一长串来自整个存储库的被忽略的建议。
我的 Travis CI 测试有什么方法可以知道哪些 files/paragraphs 实际发生了变化并且应该进行验证?
我设法将 Travis CI 测试限制在拉取请求中实际修改的文件。
在 .travis.yml
中,您可以在 运行 测试之前 运行 一个脚本。我用它来创建修改文件列表:
before_script:
- git diff --name-only master > modified_files
然后,在 package.json
中,我将该列表传递给执行实际验证的脚本。
"scripts": {
"test": "proofreader --file-list modified_files"
}
这减少了噪音,但我想更深入地验证已更改的段落。
我正在研究 docs-only project (all files are HTML or MD) hosted on GitHub. I'd like each pull request to be automatically tested with spellchecker and write-good。我正在考虑为此使用 Travis CI,但是我不能使用重建所有内容的默认方法。对于文档项目,这是不可取的,因为:
- 文档中的每个文件都是独立的(无需在每次更改时构建整个项目),
- 一些 spellchecker/write-good 建议值得商榷(或完全错误),应忽略(例如,因为它们缺少上下文)。
我不希望所有拉取请求都失败并显示一长串来自整个存储库的被忽略的建议。
我的 Travis CI 测试有什么方法可以知道哪些 files/paragraphs 实际发生了变化并且应该进行验证?
我设法将 Travis CI 测试限制在拉取请求中实际修改的文件。
在 .travis.yml
中,您可以在 运行 测试之前 运行 一个脚本。我用它来创建修改文件列表:
before_script:
- git diff --name-only master > modified_files
然后,在 package.json
中,我将该列表传递给执行实际验证的脚本。
"scripts": {
"test": "proofreader --file-list modified_files"
}
这减少了噪音,但我想更深入地验证已更改的段落。