Skip to content

Instantly share code, notes, and snippets.

@FromAtom
Last active September 11, 2020 08:36
Show Gist options
  • Save FromAtom/831cf6da906904d518379e493f7eefa2 to your computer and use it in GitHub Desktop.
Save FromAtom/831cf6da906904d518379e493f7eefa2 to your computer and use it in GitHub Desktop.

CIで MINT_LINK_PATH は指定しなくてもいいのでしょうか?

基本的には不要なはずです。MINT_LINK_PATH はMint経由でビルドされたバイナリのリンクを作る先です。デフォルトでは /usr/local/bin に設定されています。リンクは mint install SwiftLintmint 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" のサブセクション最後のあたりでその解説は記載しているので、そちらでカバーできているかなと考えています。

@FromAtom
Copy link
Author

ですですー!ちなみに mint install swiftlint とかすると

$ mint install swiftlint                                                                    
🌱 Finding latest version of SwiftLint
🌱 Cloning SwiftLint 0.40.2
🌱 Resolving package
🌱 Building package
🌱 Installed SwiftLint 0.40.2
🌱 Linked swiftlint 0.40.2 to /usr/local/bin

となって、「Linkされたんやな」感がでますね。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment