如何为分支和大多数 ember-try 场景关闭 Percy 快照?

How do I turn off Percy snapshots for branches and most ember-try scenarios?

我在 Ember 插件的测试中使用 Percy,但 Percy 快照 运行 每次推送提交 12 次。我只希望他们 运行 用于合并请求和我的插件的主要版本。

这就是为什么他们现在 运行 12 次: - 每 ember 个尝试场景一次(6 次) - 这对推送到 GitHub

的 PR 和分支重复

我正在使用 Travis CI。如何减少 Percy 快照的次数 运行?

travis.yml中,您可以为每个要跳过的场景将Percy令牌设置为空字符串ENV变量:

- stage: "Additional Tests"
  env: EMBER_TRY_SCENARIO=ember-lts-3.4 PERCY_TOKEN=""
- env: EMBER_TRY_SCENARIO=ember-lts-3.8 PERCY_TOKEN=""
- env: EMBER_TRY_SCENARIO=ember-release PERCY_TOKEN=""
- env: EMBER_TRY_SCENARIO=ember-beta PERCY_TOKEN=""
- env: EMBER_TRY_SCENARIO=ember-canary PERCY_TOKEN=""

如果您的配置允许任何失败,请确保也在那里添加 Percy 令牌,以便场景匹配。例如:

  allow_failures:
    - env: EMBER_TRY_SCENARIO=ember-lts-3.4 PERCY_TOKEN=""

Travis 提供了一个环境变量 TRAVIS_PULL_REQUEST,您可以检查并有条件地设置 PERCY_TOKEN。这可以在 Travis 文件的许多不同位置完成,所以这里有一个例子:

before_install:
  - 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then PERCY_TOKEN=""; fi'

请参阅 Conditionals in Travis 的文档。

感谢 tbieniek 在社区聊天中提供的帮助,以及 SO 用户 jrjohnson 提供的提示,将 PERCY_TOKEN 设置为空字符串是最好的方法。