CIで
MINT_LINK_PATH
は指定しなくてもいいのでしょうか?
基本的には不要なはずです。MINT_LINK_PATH
はMint経由でビルドされたバイナリのリンクを作る先です。デフォルトでは /usr/local/bin
に設定されています。リンクは mint install SwiftLint
やmint bootstrap --link
とした場合に作られます。リンク後は mint run swiftlint
とせずに swiftlint
として利用することが可能になります。ここらへんはp93 "2.2 Mintを使ってみる" の中で解説しています。
そのため MINT_LINK_PATH
をキャッシュに含める必要がある場合は、
Mintfile
を使わず全部mint install
してmint run
せずにバイナリを呼んでいるmint bootstrap --link
をしてMINT_LINK_PATH
にバイナリをリンクしてmint run
せずにバイナリを呼んでいる
です。今回の記事ではこれらの使い方を特に推してないので、MINT_LINK_PATH
はキャッシュに含めていません。
GitHub Actionsの
MINT_PATH
で先頭に$ {{ github.workspace }}/
を付けていますが、そのほうがいいのでしょうか?(
これは正直良くわかってないです 🙇 Mintの対応をするために、いろんなGitHub Actionsの実装を眺めに行ったんですが、その中で書かれていたので「そういうものなんだろうな」と思って使っておりますー。
個人的はCIで明示的に
mint bootstrap
をせず、mint run
時に必要なライブラリのみインストールするのが好きです
これは私も同意見です。ただ、
- Bitrise上
mint bootstrap
はしない- Xcode Build Phases内で
mint run hoge
を実行
という条件でビルドできなくなる謎に苦しめられたことがあり、なおかつ似た構成の別アプリでは普通にビルドが通るという謎さだったので、もし同じ状態に読者が陥るとどうしようも無いので安全側に倒して書いてあります。
一応 p.94 "2.3 Mintfile" のサブセクション最後のあたりでその解説は記載しているので、そちらでカバーできているかなと考えています。
そうですねー。ありだとは思います。ただ、
mint run
の時にはMINT_LINK_PATH
へのlinkはつくられずMINT_PATH
内で完結するmint install
ormint bootstrap --link
のときだけMINT_LINK_PATH
へのlinkが作られるので、あまり気にしなくてもいいかと。
MINT_LINK_PATH
を変えると切り分けはできそうですが、一方で.zshrc
などでパスを通す必要もでてきて、ちょっとだけ複雑さも増してしまいますね。おそらく
mint install
やmint bootstrap --link
は、Homebrew(+Brewfile)ライクに使いたいときだけ利用すべきものな気がします。「Brewfileを使ってPCセットアップ時にほしいバイナリ全部入れておく」みたいな感じですね。