メインブランチに更新がない状態が続くとスケジュールで動くワークフローは無効化されます。
無効化される前に通知が来てリンクからワークフローのページを開いて「Enable workflow」を押す必要があるのですが、わりと忘れがちでいつの間にかワークフローが止まっていることがありました。
そして無効になってしまったあとは特に通知も来ないので、たまたま見に行ったときに気づくことがほとんど。
無効になってしまったワークフローを一覧できたらなーと思っていたのですが、gh でできそうだったのでやってみました。
一覧
gh repo list --json nameWithOwner --jq .[].nameWithOwner | xargs -I {} sh -c "echo {}; gh workflow list -a -R {} | grep disabled"
無効になっているワークフローは disabled_inactivity ステータスになっているのでリポジトリリストからワークフローリストを取得して grep しています。
Web で開く
gh repo list --json nameWithOwner --jq .[].nameWithOwner | xargs -I {} sh -c "echo {}; gh workflow list -a -R {} | grep disabled | grep -oe [0-9]*$ | xargs -I WID gh workflow view -R {} WID --web"
「名前 ステータス ワークフローID」が出力されるので末尾の ワークフローID を取得してブラウザで開くコマンドを呼び出します。
無効になっているワークフローのページが開くのでそこで「Enable workflow」ボタンを押せば有効に戻せます。
Enable にする
gh repo list --json nameWithOwner --jq .[].nameWithOwner | xargs -I {} sh -c "echo {}; gh workflow list -a -R {} | grep disabled | grep -oe [0-9]*$ | xargs -I WID gh workflow enable -R {} WID"
gh workflow enable でワークフローをコマンドラインから有効にすることもできるので、Web で開く部分を少し変えればワンライナーで全リポジトリのワークフローを有効に戻せます。
今回は以上です。では。
0 件のコメント:
コメントを投稿