You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub Actions(Ubuntu环境)中创建到期即失败的Time Bomb?

在GitHub Actions中实现触发失败的Time Bomb步骤

完全可行。你当前的脚本仅输出提示信息,但不会触发步骤失败——要实现指定日期后让步骤失败,只需在条件满足时添加非零退出码(比如exit 1),GitHub Actions会将返回非零码的步骤标记为失败,进而终止整个Job(除非你为该步骤设置了continue-on-error: true)。

修改后的示例代码

jobs:
  Test-Runner:
    runs-on: ubuntu-22.04
    steps:
      # 其他步骤...
      - name: 'Timebomb: 检查#ISSUE问题处理状态(截至2023-05-01)'
        run: |
          # 预设截止时间的时间戳(对应2023-05-01 00:00 UTC)
          DEADLINE_TIMESTAMP=1682895600
          CURRENT_TIMESTAMP=$(date +%s)
          
          if [[ $CURRENT_TIMESTAMP -gt $DEADLINE_TIMESTAMP ]]; then
            echo "距离#ISSUE已过去X个月,请检查以下事项:"
            echo "- 若问题Y已修复,请执行操作Z更新此Timebomb"
            echo "- 若未修复,请将截止时间延长1个月"
            echo "参考链接:..."
            # 触发步骤失败
            exit 1
          fi

优化建议

  • 更直观的日期对比:如果觉得时间戳可读性差,可以直接用日期字符串(注意GitHub Runner默认使用UTC时区),示例:
    if [[ $(date +%Y-%m-%d) > "2023-05-01" ]]; then
      echo "提示信息..."
      exit 1
    fi
    
  • 时区适配:如果你的截止时间基于本地时区,需要转换为UTC时间再对比。比如北京时间2023-05-01 00:00对应UTC的2023-04-30 16:00,需用这个UTC时间设置截止条件,避免触发时间偏差。

内容的提问来源于stack exchange,提问作者u-ways

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 15:22:44