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-actionはMISE_GITHUB_TOKENやMISE_TRUSTED_CONFIG_PATHSなどの環境変数を後続のステップに自動でエクスポートする。手動セットアップではこれらを自分で設定する必要がある。 - キャッシュ:
mise-actionは既定でインストール済みツールをキャッシュする(【mise】mise-actionでツールのキャッシュを有効にする 参照)。手動セットアップでキャッシュしたい場合は、actions/cacheを自分で組み込む必要がある。 - バージョン固定:
mise-actionはversion入力でmise本体のバージョンを固定できる(【mise】mise-actionのversion入力でmise自体のバージョンを固定する 参照)。手動セットアップではMISE_VERSION環境変数を使う。
これらを自前で実装すれば手動セットアップでも同等の挙動にできるが、mise-actionを使えば最初から用意されている。GitHub Actions上でmiseを使う場合は、特別な事情がない限りmise-actionを使うのがシンプルである。
\第一線のプログラマーの行動原理を学べる!/
