GitHub Actions の schedule が停止した時の再開方法 ⏰
GitHub Actions に schedule を設定しているリポジトリに、60日間活動がないと workflow が停止します 😵
実際に、私もこちらのリポジトリで schedule を設定しているのですが、ふとした時に停止していることに気づきました 💦
止まってしまった workflow を再開する方法をご紹介します。
停止の仕組み
GitHub Actions では、以下の条件で自動的に workflow が停止されます:
- 60日間リポジトリに活動がない 📅
- schedule で実行される workflow のみ対象 ⏰
- 手動実行や push トリガーは対象外 ✅
再開方法
1. Actions タブにアクセス
リポジトリにアクセスして、Actions タブより該当の workflow を選択しましょう 🔍
2. Enable workflow をクリック
もう少し拡大すると以下のようになります:
「60日間活動がなかったので、schedule された workflow を停止しました。」という警告とともに、右の方には 「Enable workflow」 をクリックできるようになっています ✨
この「Enable workflow」をクリックすることで、schedule workflow を再開させることができます 🚀
停止しないための対策
workflow を停止させないためには、何らかの活動をする必要があります 💡 本来であれば、「草を生やす(commit する)」を続けることが望ましいですが、どうしても放置して自動運用する場合もあるかと思います。
その場合の対応策について考えてみます:
1. push する
任意のブランチに push する action には、以下がオススメです 📤
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: main
2. Pull Request を送る
PR を作成できる action には、以下がオススメです 🔄
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: Update automated changes
title: Automated update
3. Issue を発行する
Issue を発行する actions には、以下がオススメです 📋
- name: Create issue
uses: actions-ecosystem/action-create-issue@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
title: Automated maintenance
body: This is an automated issue to keep the repository active.
推奨される対策
最も自然で効果的な対策は以下の通りです:
- 定期的なメンテナンス: 依存関係の更新など 🔧
- 自動更新: README やドキュメントの自動更新 📝
- ヘルスチェック: システムの状態確認とレポート 📊
まとめ
GitHub Actions の schedule 停止は、リポジトリの活動状況を管理するための仕組みです 🎯 適切な対策を講じることで、継続的な自動化を実現できます。