如何为分支机构和大多数预案场景关闭Percy快照?

时间:2019-12-27 17:55:52

标签: ember.js travis-ci

我在Ember Addon的测试中使用Percy,但是Percy快照对于每个推送的提交都运行12次。我只希望它们为请求请求和插件的主版本运行。

这就是为什么他们现在要运行12次: -每个余烬尝试场景一次(6次) -对于PR和推送到GitHub的分支机构都重复此步骤

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

1 个答案:

答案 0 :(得分:1)

travis.yml中,您可以为每个要跳过的方案将伪造的Percy令牌设置为ENV变量:

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

如果您的配置允许任何失败,请确保也在其中添加Percy令牌,以使方案匹配。例如:

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

Travis提供了一个环境变量TRAVIS_PULL_REQUEST,您可以有条件地检查和设置PERCY_TOKEN。可以在Travis文件中的许多不同位置完成此操作,因此这里是一个示例:

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

请参阅Conditionals in Travis的文档。

感谢tbieniek在社区聊天中提供的帮助。