🤖

KeisukeYamashita/setup-release を fork して新しい GitHub Actions をリリースした

に公開

https://github.com/KeisukeYamashita/setup-release

KeisukeYamashita/setup-release という GitHub Actions があります。これは GitHub Release にアップロードされたバイナリをダウンロードして、GITHUB_PATH を通してくれる便利な Actions です。
GitHub-hosted や self-hosted な Runner に元々インストールされていないコマンドをインストールするのが主なユースケースです。

しかし、この Actions は依存関係の更新が滞っているため、setup-output の非推奨の warning が出たままになっていました。
https://github.blog/changelog/2023-07-24-github-actions-update-on-save-state-and-set-output-commands/

この問題を解決するために KeisukeYamashita/setup-release を fork して odanado/setup-release をリリースしました。

https://github.com/odanado/setup-release

使い方

repository にダウンロードしたいコマンドのリポジトリを指定するだけです。あとは自動的に GitHub Release からバイナリがリリースされて、path が設定されます。

- name: Get conftest CLI
  uses: odanado/setup-release@v0
  with:
    repository: open-policy-agent/conftest

KeisukeYamashita/setup-release との差分

機能的な差分を紹介します。

  • arch/platform のデフォルト値は runner コンテキスト から解決されるようになった
    • 最近は M1 macOS の runner が使えるようになったので、デフォルトが arch の Linux 固定よりも動的に変更される方が使いやすいと判断しました
  • バイナリのダウンロードに @actions/tool-cachedownloadTool を使うようにした
    • 便利なメソッドがあったのでこちらの変更を加えました
    • installPath の挙動が少し変化していますが、ほとんどの人には影響がないと想います
  • arch/platform の値を指定したときに、大文字小文字を無視してバイナリファイルを検索するようになった
    • ツールによって Linux/linux などの表記揺れがあったので、表記揺れに強くなるようにしました

終わりに

便利だと思うのでぜひ使ってください〜。

Discussion