instructure / canvas-lms

The open LMS by Instructure, Inc.
https://github.com/instructure/canvas-lms/wiki
GNU Affero General Public License v3.0
5.41k stars 2.42k forks source link

bundler install fails due to pact-mock_service if configured `without test` #2316

Open amg-web opened 4 months ago

amg-web commented 4 months ago

bundler install fails due to pact-mock_service with commit https://github.com/instructure/canvas-lms/commit/edef2f19ca1c4cdefe96b0b9ec280b41581928c2

Ubuntu 22, ruby 3.1 I use bundle config set --local without test

if I do not exclude anything bundle install completes the task without error

Could not find gems matching 'pact-mock_service (>= 3.12)' valid for all resolution platforms (aarch64-linux, arm64-darwin, ruby, x86_64-darwin, x86_64-linux) in rubygems repository https://rubygems.org/, cached gems or installed locally.

The source contains the following gems matching 'pact-mock_service (>= 3.12)':

amg-web commented 4 months ago

I fixed it by editing this line https://github.com/instructure/canvas-lms/blob/cf4cdd2a2c373ea92d042ddadfa7355bdf907cbe/Gemfile.d/test.rb#L48 gem "pact-mock_service", ($canvas_rails == "7.1") ? ">= 3.12" : "3.11.2" to
gem "pact-mock_service", ($canvas_rails == "7.1") ? "3.12.1" : "3.11.2"

and also by editing lock files 3.12 to 3.12.1

amg-web commented 4 months ago

Last working for me is version "origin/stable/2024-01-31" also need to edit Gemfile.rails71.lock

amg-web commented 4 months ago

https://github.com/instructure/canvas-lms/commit/edef2f19ca1c4cdefe96b0b9ec280b41581928c2

line 24 gem "rack", "~> 3.0" if $canvas_rails == "7.1" # needed to force Rack 3 due to a confluence of dependencies involving pact

creates this issue due to the fact I use bundle config set --local without test