当工作流使用 `GITHUB_TOKEN` 推送代码触发新的 `push` 事件时,不会立即启动新的工作流运行,这是为了防止无限循环的递归执行。这种设计是 GitHub Actions 的一个内置保护机制。具体来说,对于所有事件,如果工作流运行本身(即通过使用 `GITHUB_TOKEN` 执行的操作)触发了代码推送,那么配置了监听 `push` 事件的工作流不会因此再次运行。只有在特定情况下,例如 `workflow_dispatch` 和 `repository_dispatch` 事件,才会总是创建工作流运行。对于 `pull_request` 事件,只有当工作流创建或更新了拉取请求时,才会触发工作流运行,并且这些运行会处于需要批准的状态,这避免了自动化流程直接触发循环。总而言之,这种行为机制旨在防止自动化流程意外地、无限地触发自身,从而保证了工作流的稳定性和可控性。

信息来源