在 GitHub 操作中按计划执行步骤 运行 时检查条件

Checking condition when step is running on schedule in GitHub Actions

我们在 GitHub Actions 中有工作流,它有两种触发事件、e.g.pull-请求和按计划触发的类型。

除运行测试步骤外,大部分步骤相同。我们想要的是:

  1. 在没有提供特定标签的拉取请求中:执行冒烟测试
  2. 根据带有特定标签的拉取请求或按计划:执行完整测试

可以使用contains(github.event.pull_request.labels.*.name, 'full-tests')检查标签。

问题是如何检查它何时运行准时?根据我对文档的理解,按计划进行时,没有 github.event 的有效负载。但是检查 github.event == null 似乎不起作用。

有没有具体的方法可以查看运行是否如期?

在这种情况下,您要使用的是 github.event_name 变量,它表示 触发工作流 运行 的事件的名称 github context.

在您的情况下,如果工作流 运行 在预定事件上触发,要 运行 作业或步骤,您将需要使用:

if: ${{ github.event_name == 'schedule' }}

Reference