GitHub Actions配置cron定时调度后workflow从未触发运行
GitHub Actions 定时工作流从未触发的排查方案
你写的配置语法没有错误,* * * * * 的cron表达式对应每分钟执行一次的规则,配置提交后完全没有运行记录,基本是以下几个原因导致的:
- 配置未提交到仓库默认分支:
schedule类型的触发规则只会读取仓库默认分支下的.github/workflows目录内的配置文件。如果你把这份workflow文件提交到了非默认分支(比如功能分支、开发分支),GitHub调度系统根本不会加载这份定时规则,必须将配置合并/提交到仓库设置的默认分支(通常为main或master分支)才会生效。 - 工作流被手动禁用:进入仓库的Actions页面,在左侧工作流列表找到
Test Schedule Workflow,检查页面右上角是否显示为禁用状态,如果是手动点击启用即可。 - 仓库长期不活跃被自动禁用调度:如果你的仓库是私有仓库,或是使用免费账户创建的公开仓库,连续60天没有任何提交、Issue、PR等交互活动,GitHub会自动停用该仓库下所有定时调度的工作流,需要手动进入Actions页面重新激活。
- 首次配置加载延迟:第一次将带schedule规则的workflow推送到默认分支后,GitHub调度系统需要数分钟时间同步规则,不会刚提交就立刻触发,等待5-10分钟后才会开始按cron规则执行。
你提交的工作流配置如下:
name: Test Schedule Workflow on: schedule: - cron: '* * * * *' jobs: cron: runs-on: ubuntu-latest steps: - name: Run a one-line script run: echo Hello, world!
GitHub Actions的定时调度确实不保证严格准点,平台负载高时可能出现数分钟到十几分钟的延迟,但如果配置提交超过1小时仍然没有任何运行记录,就不属于正常延迟范畴,按照上面列出的原因逐一排查即可,其中配置不在默认分支是首次配置时最常见的诱因。
内容的提问来源于stack exchange,提问作者thxwelchs
相关产品推荐
相关产品推荐

