AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

GithubActions の履歴を消す

qiita.com

この手順でやればオッケー。

❯ gh api "repos/${ORGANIZATION}/${REPOSITORY}/actions/workflows/${ACTION_YAML_FILE}/runs?per_page=100" | jq -r '.workflow_runs[].id' | xargs -P2 -I{} gh api repos/${ORGANIZATION}/${REPOSITORY}/actions/runs/{} -X DELETE

gh のインストール

ちなみに gh インストール時は https/ssh どっちで接続する? と聞かれるが、雑に https で構わないと思われる。 このあたり git clone とかもそうなんだけど、雑にやるのどっちがいいのか、を書いてなくてとりあえずあちこちから接続しやすい https を常に選ぶようにしているんだけど、誰か解説してくれねーかな。

per_page の指定

per_page=100 のように指定しているけど、これは一覧出した時に先頭なから何件消すか? という指定なので、 90 件しかない所に 100 件とか指定すると、虚無の 10 件を消す、みたいなのが発生して実害はないんだけど「ナンデ!?」となりがちなので気をつけよう。

あと「◯◯だけ消したくない! 先頭から◯件は残してそれ以降は消したい! 削除対象の URL が知りたい」みたいなのあるけど、消す対象は jq -r '.workflow_runs[].id' で取得しているが、実際にアクセスできる URL は jq -r '.workflow_runs[].url' で取れるので、URL で取って確認して自分でリスト作って消し込むとかしてください。

json をパースしろ人類。 ちなみに僕は面倒なので全部消しました。