mike-neckのブログ

Java or Groovy or Swift or Golang

GitHub Actions で古い action を使っているか調べる action を作ってみた

f:id:mike_neck:20200718113017p:plain

表題の通り、ワークフローに使われている action に新しいバージョンがリリースされているか調べる カスタム action を作って github marketplace で公開してみた。

github.com

GitHub Actions に限らず、何らかの依存ライブラリー・サービス群を使っているみたいな仕組みでは、運用の時間が長くなると欲しくなってくる機能かなと思って、 Custom action の作り方を覚えてみるのと typescript の練習がてらで作ってみました。

使い方というか、パラメーターは README に書いてあるとおりなのですが、ここでも解説をすると…

  • GitHubAPI を利用する関係上、 secrets.GITHUB_TOKEN を設定する必要がある
  • 結果(json)をファイルで欲しい場合は、出力ファイルを記述する
  • 検査対象にしないワークフローのパターンがあれば、設定する

です。

      - name: detect newer actions
        uses: mike-neck/detect-newer-action@v0.1
        id: newer-action
        with:
          token: ${{ secrets.GITHUB_TOKEN }} # GitHub の API を使うので必須
          exclude-workflows: "release" # release.yml は調べない
          output-file: 'build/newer-actions.json' # build/newer-actions.json に結果を出力する

この Action のリリース自体も GitHub Actions で自動化しているのですが、 タグを作って、リリースを作っても、リリースがマーケットプレイスで公開された状態にならず、手でリリースを更新する必要があり、面倒だったので方法がないか調べてみましたが、見つかりませんでした。

いかがだったでしょうか?

カスタムアクションをリリースしたことについて報告しました。

みんな使ってくれるとうれしいですね。