mise-actionなしでもmiseをセットアップできる

jdx/mise-actionを使わなくても、mise公式のインストールスクリプトを使えばGitHub Actions上でmiseをセットアップできる。mise-actionが内部で何を自動化しているかを知るために、手動セットアップと比較する。

手動でセットアップする

curl https://mise.run | shでmiseをインストールし、shimsディレクトリをGITHUB_PATHに追加した後、ツールを信頼してインストールする。

- uses: actions/checkout@v4
- name: Install mise
  run: curl https://mise.run | sh
- name: Add mise shims to PATH
  run: echo "$HOME/.local/share/mise/shims" >> "$GITHUB_PATH"
- name: Trust and install tools
  run: |
    "$HOME/.local/bin/mise" trust
    "$HOME/.local/bin/mise" install
- run: jq --version

mise.tomlに定義したjqがインストールされ、shims経由でそのまま実行できる。

mise: installed successfully to /home/runner/.local/bin/mise
mise WARN  No untrusted config files found.
mise jq@1.7.1        [1/2] install
mise jq@1.7.1      ✓ installed
jq-1.7.1

mise-actionとの違い

mise-actionを使うと、上記のステップが1つにまとまる。

- uses: actions/checkout@v4
- uses: jdx/mise-action@v4
- run: jq --version

ステップ数以外にも、以下の点が異なる。

  • 環境変数のエクスポート: mise-actionMISE_GITHUB_TOKENMISE_TRUSTED_CONFIG_PATHSなどの環境変数を後続のステップに自動でエクスポートする。手動セットアップではこれらを自分で設定する必要がある。
  • キャッシュ: mise-actionは既定でインストール済みツールをキャッシュする(【mise】mise-actionでツールのキャッシュを有効にする 参照)。手動セットアップでキャッシュしたい場合は、actions/cacheを自分で組み込む必要がある。
  • バージョン固定: mise-actionversion入力でmise本体のバージョンを固定できる(【mise】mise-actionのversion入力でmise自体のバージョンを固定する 参照)。手動セットアップではMISE_VERSION環境変数を使う。

これらを自前で実装すれば手動セットアップでも同等の挙動にできるが、mise-actionを使えば最初から用意されている。GitHub Actions上でmiseを使う場合は、特別な事情がない限りmise-actionを使うのがシンプルである。