Skip to content

Warn if RubyGems version explicitly set in gemspec does not match running version #3433

Warn if RubyGems version explicitly set in gemspec does not match running version

Warn if RubyGems version explicitly set in gemspec does not match running version #3433

name: realworld
on:
pull_request:
push:
branches:
- master
concurrency:
group: ci-${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: true
permissions: # added using https://github.com/step-security/secure-workflows
contents: read
jobs:
bundler:
name: Realworld Bundler ${{ matrix.bundler.name }} on ${{ matrix.os.name }} (${{ matrix.ruby.name }})
runs-on: ${{ matrix.os.value }}
strategy:
fail-fast: false
matrix:
os:
- { name: Ubuntu, value: ubuntu-22.04 }
ruby:
- { name: ruby-3.0, value: 3.0.7 }
- { name: ruby-3.1, value: 3.1.5 }
- { name: ruby-3.2, value: 3.2.4 }
- { name: ruby-3.3, value: 3.3.1 }
bundler:
- { name: 2, value: '' }
- { name: 3, value: 3.0.0 }
include:
- { os: { name: macOS, value: macos-14 }, bundler: { name: 2, value: '' }, ruby: { name: ruby-3.0, value: 3.0.7 } }
- { os: { name: macOS, value: macos-14 }, bundler: { name: 2, value: '' }, ruby: { name: ruby-3.1, value: 3.1.5 } }
- { os: { name: macOS, value: macos-14 }, bundler: { name: 2, value: '' }, ruby: { name: ruby-3.2, value: 3.2.4 } }
- { os: { name: macOS, value: macos-14 }, bundler: { name: 2, value: '' }, ruby: { name: ruby-3.3, value: 3.3.1 } }
env:
RGV: ..
RUBYOPT: --disable-gems
steps:
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Setup ruby
uses: ruby/setup-ruby@1198b074305f9356bd56dd4b311757cc0dab2f1c # v1.175.1
with:
ruby-version: ${{ matrix.ruby.value }}
bundler: none
- name: Prepare dependencies
run: bin/rake spec:deps
- name: Replace version
run: BUNDLER_SPEC_SUB_VERSION=${{ matrix.bundler.value }} bin/rake override_version
if: matrix.bundler.value != ''
- name: Run Test
run: bin/rake spec:realworld
- name: Upload used cassettes as artifact
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: cassettes-bundler-${{ matrix.bundler.name }}-${{ matrix.os.value }}-${{ matrix.ruby.name }}
path: ./bundler/spec/support/artifice/used_cassettes.txt
timeout-minutes: 20
system_rubygems_bundler:
name: Realworld Bundler ${{ matrix.bundler.name }} against system Rubygems (${{ matrix.ruby.name }})
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
- { bundler: { name: 2, value: '' }, ruby: { name: ruby-3.0, value: 3.0.7 } }
- { bundler: { name: 2, value: '' }, ruby: { name: ruby-3.1, value: 3.1.5 } }
- { bundler: { name: 2, value: '' }, ruby: { name: ruby-3.2, value: 3.2.4 } }
- { bundler: { name: 2, value: '' }, ruby: { name: ruby-3.3, value: 3.3.1 } }
- { bundler: { name: 3, value: 3.0.0 }, ruby: { name: ruby-3.0, value: 3.0.7 } }
- { bundler: { name: 3, value: 3.0.0 }, ruby: { name: ruby-3.1, value: 3.1.5 } }
- { bundler: { name: 3, value: 3.0.0 }, ruby: { name: ruby-3.2, value: 3.2.4 } }
- { bundler: { name: 3, value: 3.0.0 }, ruby: { name: ruby-3.3, value: 3.3.1 } }
steps:
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Setup ruby
uses: ruby/setup-ruby@1198b074305f9356bd56dd4b311757cc0dab2f1c # v1.175.1
with:
ruby-version: ${{ matrix.ruby.value }}
bundler: none
- name: Prepare dependencies
run: bin/rake spec:deps
- name: Replace version
run: BUNDLER_SPEC_SUB_VERSION=${{ matrix.bundler.value }} bin/rake override_version
if: matrix.bundler.value != ''
- name: Run Test
run: bin/rake spec:realworld
- name: Upload used cassettes as artifact
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
with:
name: cassettes-system-rubygems-bundler-${{ matrix.bundler.name }}-${{ matrix.ruby.name }}
path: ./bundler/spec/support/artifice/used_cassettes.txt
timeout-minutes: 20
check_unused_cassettes:
name: Check unused cassettes
needs: [bundler, system_rubygems_bundler]
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
- name: Setup ruby
uses: ruby/setup-ruby@1198b074305f9356bd56dd4b311757cc0dab2f1c # v1.175.1
with:
ruby-version: 3.3.1
bundler: none
- name: Prepare dependencies
run: rake setup
- name: Download all used cassettes as artifacts
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
path: ./bundler/spec/support/artifice/used_vcr_cassettes
- name: Check unused cassettes
run: bin/rake spec:realworld:check_unused_cassettes