🐈
GitHub Actions on UbuntuでHomebrewを使う
諸般の事情からmacOS / Linuxに両対応したAPIクライアントをSwiftで書いている。
コードのサイズが大きくなってきたのでSwiftlintを導入しようとしたが、 ubuntu-latest のrunner-imageで brew install swiftlint を実行すると以下のようなエラーが出た。
/home/runner/work/_temp/d47c62dc-660e-4c79-bffa-2f8f6f8bbe17.sh: line 1: brew: command not found
だが、 runner-images のリポジトリで ubuntu-latest のREADMEを確認するとHomebrewはデフォルトでインストールされているのだ。これはどういうことだろうか?
HomebrewはインストールされているがPATHが通っていない
過去のIssueを漁ってみると2022年9月ごろにHomebrewをPATHから削除するという対応が取られたようだ。ハチャメチャにdownvoteされている。
公式のアクションが用意されているので、それを利用するのが楽
当時のIssueなどを漁るとSwiftlintのバイナリを適当なPATHに手動でダウンロードしたり、HomebrewにPATHを通し直すなどの対応が取られていたようだ。
2025年現在ではHomebrewが公式のSetupアクションを公開しているので、それを使うのが一番楽だった。
使い方も簡単で下記のアクションを任意の位置に配置するだけである。
- name: Set up Homebrew
uses: Homebrew/actions/setup-homebrew@7f6df1cd36597249cbf9810ff3aeff47edf8243b
まとめ
-
ubuntu-latestのrunner-imageにはHomebrewがインストールされているが、PATHが通っていない - 簡単にセットアップするには
Homebrew/actions/setup-homebrewを使うのがおすすめ
Discussion