我正在尝试在 Travis 中设置 Chromatic。
我在 Travis 中看到Chromatic 文档建议使用此脚本
if [[ $TRAVIS_EVENT_TYPE != 'pull_request' || $TRAVIS_PULL_REQUEST_SLUG != $TRAVIS_REPO_SLUG ]];
then
npm run chromatic
fi
有解释
Travis 为拉取请求的提交提供了两种类型的构建:所谓的 pr 和 push 构建。每个 PR 只运行一次 Chromatic 才有意义,因此我们建议在内部 PR(即不是来自 fork 的 PR)的 pr 构建上禁用 Chromatic。您应该确保已打开推送构建,并添加以下代码:[[THE CODE ABOVE]]
对于外部 PR(来自 repo 的分支的 PR),上述代码将确保 Chromatic 确实在 pr 构建上运行,因为 Travis 在这种情况下不会触发推送构建。
注意:我们建议在推送构建上运行 Chromatic,因为 pr 构建不能总是运行并脱离正常的 git 祖先。例如,如果您更改 PR 的基本分支,您可能会发现需要重新批准更改,因为某些历史记录可能会丢失。
但是,Chromatic 确实适用于 Travis pr 构建!
然后我阅读了有关and的Travis 文档。TRAVIS_PULL_REQUEST_SLUG
TRAVIS_REPO_SLUG
TRAVIS_PULL_REQUEST_SLUG:
如果当前作业是拉取请求,则 PR 源自的存储库的 slug(格式为 owner_name/repo_name)。
如果当前作业是推送构建,则此变量为空 ("")。
TRAVIS_REPO_SLUG:
- 当前正在构建的存储库的 slug(形式:owner_name/repo_name)。
所以我的理解是什么时候$TRAVIS_PULL_REQUEST_SLUG != $TRAVIS_REPO_SLUG
,它是一个推送构建,那么为什么它仍然需要$TRAVIS_EVENT_TYPE != 'pull_request'
呢?
它们之间有什么区别吗?