引き続き vcpkg を研究していて、GitHub Actions 向けに vcpkg が公式にキャッシュオプションを提供しているということを知ったので設定してみた。
Ruby のコミットを見ての通り、自前であれをキャッシュしよう、こっちも、と自前でやるよりも、楽に適切にキャッシュされて大変便利だった。
ローカルでは使っている vcpkg の manifest モードを CI でも使うようにした。
https://github.com/ruby/ruby/pull/11047
いろいろ試してみると、--with-opt-dir
は相対パスを受け付けない、という事がわかったので、最悪ではあるが GitHub のコードをチェックアウトしているパスをハードコードして対応した。これ、GITHUB_WORKSPACE
で置き換えられるらしいので、後で試すリスト送り。
vcpkg は macOS でも動くらしく、手元の macOS 14.6 beta で試したらたしかにちゃんとバイナリライブラリをインストールできて感心した。ただ、これを使ってテストを実行すると stuck することがまあまあ多いので実用段階はもう少し後みたい。
これがうまく動くなら、テスト実行時であるとか、ゆくゆくは公式にサポートしている外部依存ライブラリのバージョンをロックできるので大変いいことっぽい。頑張ろう。