mise.tomlの一部のツールだけインストールしたい
jdx/mise-actionは既定でmise installを実行し、mise.tomlに定義した全ツールをインストールする。ジョブによって使うツールが異なるモノレポなどでは、ジョブごとに一部のツールだけインストールしたい場合がある。install_args入力を使うと、mise installに渡す引数を指定し、インストール対象を絞り込める。
install_argsでインストール対象を絞り込む
mise.tomlに複数のツールを定義する。
[tools]
jq = "1.7.1"
yq = "4.44.3"
install_argsにツール名を指定すると、そのツールだけがインストール対象になる。
- uses: actions/checkout@v4
- uses: jdx/mise-action@v4
with:
install_args: "jq"
- run: mise ls
ログを確認すると、mise installではなくmise install jqが実行され、jqのみインストールされていることが分かる。
Running mise install jq
mise jq@1.7.1 [1/2] install
mise jq@1.7.1 [1/2] download jq-linux-amd64
mise jq@1.7.1 [2/2] checksum jq-linux-amd64
mise jq@1.7.1 [2/2] extract jq-linux-amd64
mise jq@1.7.1 ✓ installed
mise lsの結果でも、jqはインストール済み、mise.tomlに定義したままのyqは未インストール(missing)のままである。
jq 1.7.1 ~/work/test/test/mise.toml 1.7.1
yq 4.44.3 (missing) ~/work/test/test/mise.toml 4.44.3
install自体を無効化する場合との違い
install入力にfalseを指定するとmise install自体を実行しない。すべてのツールのインストールをスキップしたい場合はinstall: false、一部のツールだけインストールしたい場合はinstall_argsと使い分ける。
\第一線のプログラマーの行動原理を学べる!/
