🍔

GitHub Actionsでbundle installが失敗する  failed with exit code 16

2023/08/15に公開

github actionsでrubyのセットアップワークフロー実行中に以下のエラーが発生しました。

The process '/opt/hostedtoolcache/Ruby/3.2.2/x64/bin/bundle' failed with exit code 16
ワークフロー
      - name: Set up Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: "3.2.2"
          bundler-cache: true

エラーログには、プラットフォームが異なるので、bundle lock --add-platform x86_64-linuxを実行して現在のプラットフォームをlockfileに追加するようにとありました。
Bundlerを実行できるプラットフォームが制限されていることが原因のようです。

エラーログ
Your bundle only supports platforms ["aarch64-linux-musl"] but your local
platform is x86_64-linux. Add the current platform to the lockfile with
`bundle lock --add-platform x86_64-linux` and try again.

ログの通り実行します。
まず、docker-composeでコンテナを起動しシェルを開始してから、

docker-compose run --rm コンテナ名 sh

bundle lockコマンドを実行。

~ # bundle lock --add-platform x86_64-linux

Gemfile.lockにx86_64-linuxが追加され、無事rubyをセットアップできるようになりました。

Gemfile.lock
PLATFORMS
  aarch64-linux-musl
  x86_64-linux

Discussion