- 公開日
GitHub CLI 拡張機能 gh-workflow-log-cleaner を作成した
GitHub Actions のワークフローの実行ログを削除するGitHub CLI 拡張機能、gh-workflow-log-cleaner を作成したのでご紹介。
toshimaru/gh-workflow-log-cleaner: Clean outdated workflow logs.
モチベーション
古いGitHub Actionsのワークフロー実行ログは残り続ける。現役バリバリで利用しているワークフローならいいが、既に使用していないワークフローの場合、このログがノイズになることがある。
GUIでポチポチ実行ログを削除することは可能だが、まとめて削除する方法は提供されていない。代わりに公式ドキュメントでは、Bashプログラムで削除する方法が紹介されているが、やや面倒でカジュアルには実行しにくい。
ということで、GitHub CLI 拡張機能化しカジュアルに実行できるようにしてみた。
拡張機能の作成方法
GitHub CLI の拡張機能は、大きく下記の2つの方法がある。
- Bash 方式
- Go Precompile方式
ref. Creating GitHub CLI extensions - GitHub Docs
今回はBash方式で作成した。下記のコマンドで拡張機能をイニシャルセットアップできる。
$ gh extension create EXTENSION-NAME
工夫した点
- Bashのテストを書くために bats-core/bats-core を使用した
- optionをパースするのを少し頑張った(
--limit
オプション) - GitHub cliと同じような出力になるように一部を bold に echo するなどした
注意点
- 拡張機能のリポジトリ名は
gh-
で始まる必要がある - 拡張機能を
gh extension search
で検索機能にするためには、gh-extensionというトピックを設定する必要がある