diff --git a/.github/workflows/sentry_delayed_job_test.yml b/.github/workflows/sentry_delayed_job_test.yml index b175190ee..e362ca9d3 100644 --- a/.github/workflows/sentry_delayed_job_test.yml +++ b/.github/workflows/sentry_delayed_job_test.yml @@ -26,7 +26,9 @@ jobs: timeout-minutes: 10 env: RUBYOPT: ${{ matrix.options.rubyopt }} - BUNDLE_GEMFILE: ${{ github.workspace }}/sentry-delayed_job/Gemfile + # Pin via the wrapper gemfile + its sibling .gemfile.lock (BUNDLE_LOCKFILE is unsupported on older bundlers). + BUNDLE_GEMFILE: ${{ github.workspace }}/sentry-delayed_job/gemfiles/ruby-${{ matrix.ruby_version }}.gemfile + BUNDLE_FROZEN: "true" BUNDLE_WITHOUT: rubocop JRUBY_OPTS: "--debug" # for more accurate test coverage strategy: @@ -52,10 +54,17 @@ jobs: sudo apt-get update sudo apt-get install libsqlite3-dev + # Wrapper keys the lock to this cell (.gemfile -> .gemfile.lock); must exist before setup-ruby. + - name: Write wrapper gemfile + run: | + mkdir -p gemfiles + echo 'eval_gemfile "../Gemfile"' > "$BUNDLE_GEMFILE" + - name: Set up Ruby ${{ matrix.ruby_version }} uses: ruby/setup-ruby@319994f95fa847cf3fb3cd3dbe89f6dcde9f178f # v1 with: ruby-version: ${{ matrix.ruby_version }} + bundler: latest bundler-cache: true - name: Run specs diff --git a/.github/workflows/sentry_opentelemetry_test.yml b/.github/workflows/sentry_opentelemetry_test.yml index e2cfce3c0..e3731112e 100644 --- a/.github/workflows/sentry_opentelemetry_test.yml +++ b/.github/workflows/sentry_opentelemetry_test.yml @@ -26,7 +26,9 @@ jobs: timeout-minutes: 10 env: RUBYOPT: ${{ matrix.options.rubyopt }} - BUNDLE_GEMFILE: ${{ github.workspace }}/sentry-opentelemetry/Gemfile + # Pin via the wrapper gemfile + its sibling .gemfile.lock (BUNDLE_LOCKFILE is unsupported on older bundlers). + BUNDLE_GEMFILE: ${{ github.workspace }}/sentry-opentelemetry/gemfiles/ruby-${{ matrix.ruby_version }}.gemfile + BUNDLE_FROZEN: "true" BUNDLE_WITHOUT: rubocop OPENTELEMETRY_VERSION: ${{ matrix.opentelemetry_version }} JRUBY_OPTS: "--debug" # for more accurate test coverage @@ -44,10 +46,17 @@ jobs: steps: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + # Wrapper keys the lock to this cell (.gemfile -> .gemfile.lock); must exist before setup-ruby. + - name: Write wrapper gemfile + run: | + mkdir -p gemfiles + echo 'eval_gemfile "../Gemfile"' > "$BUNDLE_GEMFILE" + - name: Set up Ruby ${{ matrix.ruby_version }} uses: ruby/setup-ruby@319994f95fa847cf3fb3cd3dbe89f6dcde9f178f # v1 with: ruby-version: ${{ matrix.ruby_version }} + bundler: latest bundler-cache: true - name: Run specs diff --git a/.github/workflows/sentry_rails_test.yml b/.github/workflows/sentry_rails_test.yml index 601235f2f..68f26d86a 100644 --- a/.github/workflows/sentry_rails_test.yml +++ b/.github/workflows/sentry_rails_test.yml @@ -22,7 +22,9 @@ jobs: timeout-minutes: 10 env: RUBYOPT: ${{ matrix.options.rubyopt }} - BUNDLE_GEMFILE: ${{ github.workspace }}/sentry-rails/Gemfile + # Pin via the wrapper gemfile + its sibling .gemfile.lock (BUNDLE_LOCKFILE is unsupported on older bundlers). + BUNDLE_GEMFILE: ${{ github.workspace }}/sentry-rails/gemfiles/ruby-${{ matrix.ruby_version }}_rails-${{ matrix.rails_version }}.gemfile + BUNDLE_FROZEN: "true" BUNDLE_WITHOUT: rubocop RAILS_VERSION: ${{ matrix.rails_version }} JRUBY_OPTS: "--debug" # for more accurate test coverage @@ -80,10 +82,16 @@ jobs: for apt_file in `grep -lr microsoft /etc/apt/sources.list.d/`; do sudo rm $apt_file; done sudo apt-get update sudo apt-get install libsqlite3-dev imagemagick + # Wrapper keys the lock to this cell (.gemfile -> .gemfile.lock); must exist before setup-ruby. + - name: Write wrapper gemfile + run: | + mkdir -p gemfiles + echo 'eval_gemfile "../Gemfile"' > "$BUNDLE_GEMFILE" - name: Set up Ruby ${{ matrix.ruby_version }} uses: ruby/setup-ruby@319994f95fa847cf3fb3cd3dbe89f6dcde9f178f # v1 with: ruby-version: ${{ matrix.ruby_version }} + bundler: latest bundler-cache: true - name: Build with Rails ${{ matrix.rails_version }} diff --git a/.github/workflows/sentry_resque_test.yml b/.github/workflows/sentry_resque_test.yml index 9b87eb67d..6de695492 100644 --- a/.github/workflows/sentry_resque_test.yml +++ b/.github/workflows/sentry_resque_test.yml @@ -36,7 +36,9 @@ jobs: --health-retries 5 env: RUBYOPT: ${{ matrix.options.rubyopt }} - BUNDLE_GEMFILE: ${{ github.workspace }}/sentry-resque/Gemfile + # Pin via the wrapper gemfile + its sibling .gemfile.lock (BUNDLE_LOCKFILE is unsupported on older bundlers). + BUNDLE_GEMFILE: ${{ github.workspace }}/sentry-resque/gemfiles/ruby-${{ matrix.ruby_version }}.gemfile + BUNDLE_FROZEN: "true" BUNDLE_WITHOUT: rubocop JRUBY_OPTS: "--debug" # for more accurate test coverage strategy: @@ -52,10 +54,16 @@ jobs: - ruby_version: 'jruby-head' steps: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + # Wrapper keys the lock to this cell (.gemfile -> .gemfile.lock); must exist before setup-ruby. + - name: Write wrapper gemfile + run: | + mkdir -p gemfiles + echo 'eval_gemfile "../Gemfile"' > "$BUNDLE_GEMFILE" - name: Set up Ruby ${{ matrix.ruby_version }} uses: ruby/setup-ruby@319994f95fa847cf3fb3cd3dbe89f6dcde9f178f # v1 with: ruby-version: ${{ matrix.ruby_version }} + bundler: latest bundler-cache: true - name: Run specs without Rails diff --git a/.github/workflows/sentry_ruby_test.yml b/.github/workflows/sentry_ruby_test.yml index 614904ed2..4d95d8783 100644 --- a/.github/workflows/sentry_ruby_test.yml +++ b/.github/workflows/sentry_ruby_test.yml @@ -32,7 +32,9 @@ jobs: --health-retries 5 env: RUBYOPT: ${{ matrix.options.rubyopt }} - BUNDLE_GEMFILE: ${{ github.workspace }}/sentry-ruby/Gemfile + # Pin via the wrapper gemfile + its sibling .gemfile.lock (BUNDLE_LOCKFILE is unsupported on older bundlers). + BUNDLE_GEMFILE: ${{ github.workspace }}/sentry-ruby/gemfiles/ruby-${{ matrix.ruby_version }}_rack-${{ matrix.rack_version }}_redis-${{ matrix.redis_rb_version }}.gemfile + BUNDLE_FROZEN: "true" BUNDLE_WITHOUT: rubocop RACK_VERSION: ${{ matrix.rack_version }} REDIS_RB_VERSION: ${{ matrix.redis_rb_version }} @@ -70,10 +72,17 @@ jobs: steps: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + # Wrapper keys the lock to this cell (.gemfile -> .gemfile.lock); must exist before setup-ruby. + - name: Write wrapper gemfile + run: | + mkdir -p gemfiles + echo 'eval_gemfile "../Gemfile"' > "$BUNDLE_GEMFILE" + - name: Set up Ruby ${{ matrix.ruby_version }} uses: ruby/setup-ruby@319994f95fa847cf3fb3cd3dbe89f6dcde9f178f # v1 with: ruby-version: ${{ matrix.ruby_version }} + bundler: latest bundler-cache: true - name: Run specs with Rack ${{ matrix.rack_version }} and redis-rb ${{ matrix.redis_rb_version }} diff --git a/.github/workflows/sentry_sidekiq_test.yml b/.github/workflows/sentry_sidekiq_test.yml index 0f3244128..e77dfe0f3 100644 --- a/.github/workflows/sentry_sidekiq_test.yml +++ b/.github/workflows/sentry_sidekiq_test.yml @@ -36,7 +36,9 @@ jobs: --health-retries 5 env: RUBYOPT: ${{ matrix.options.rubyopt }} - BUNDLE_GEMFILE: ${{ github.workspace }}/sentry-sidekiq/Gemfile + # Pin via the wrapper gemfile + its sibling .gemfile.lock (BUNDLE_LOCKFILE is unsupported on older bundlers). + BUNDLE_GEMFILE: ${{ github.workspace }}/sentry-sidekiq/gemfiles/ruby-${{ matrix.ruby_version }}_sidekiq-${{ matrix.sidekiq_version }}.gemfile + BUNDLE_FROZEN: "true" BUNDLE_WITHOUT: rubocop SIDEKIQ_VERSION: ${{ matrix.sidekiq_version }} JRUBY_OPTS: "--debug" # for more accurate test coverage @@ -69,10 +71,17 @@ jobs: steps: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + # Wrapper keys the lock to this cell (.gemfile -> .gemfile.lock); must exist before setup-ruby. + - name: Write wrapper gemfile + run: | + mkdir -p gemfiles + echo 'eval_gemfile "../Gemfile"' > "$BUNDLE_GEMFILE" + - name: Set up Ruby ${{ matrix.ruby_version }} uses: ruby/setup-ruby@319994f95fa847cf3fb3cd3dbe89f6dcde9f178f # v1 with: ruby-version: ${{ matrix.ruby_version }} + bundler: latest bundler-cache: true - name: Run specs with Sidekiq ${{ matrix.sidekiq_version }} diff --git a/.github/workflows/sentry_yabeda_test.yml b/.github/workflows/sentry_yabeda_test.yml index 8cdcd88bd..fa2267c56 100644 --- a/.github/workflows/sentry_yabeda_test.yml +++ b/.github/workflows/sentry_yabeda_test.yml @@ -26,7 +26,9 @@ jobs: timeout-minutes: 10 env: RUBYOPT: ${{ matrix.options.rubyopt }} - BUNDLE_GEMFILE: ${{ github.workspace }}/sentry-yabeda/Gemfile + # Pin via the wrapper gemfile + its sibling .gemfile.lock (BUNDLE_LOCKFILE is unsupported on older bundlers). + BUNDLE_GEMFILE: ${{ github.workspace }}/sentry-yabeda/gemfiles/ruby-${{ matrix.ruby_version }}.gemfile + BUNDLE_FROZEN: "true" BUNDLE_WITHOUT: rubocop JRUBY_OPTS: "--debug" # for more accurate test coverage strategy: @@ -43,10 +45,17 @@ jobs: steps: - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + # Wrapper keys the lock to this cell (.gemfile -> .gemfile.lock); must exist before setup-ruby. + - name: Write wrapper gemfile + run: | + mkdir -p gemfiles + echo 'eval_gemfile "../Gemfile"' > "$BUNDLE_GEMFILE" + - name: Set up Ruby ${{ matrix.ruby_version }} uses: ruby/setup-ruby@319994f95fa847cf3fb3cd3dbe89f6dcde9f178f # v1 with: ruby-version: ${{ matrix.ruby_version }} + bundler: latest bundler-cache: true - name: Run specs