🔒️ Checksums for v2.0.12 #114
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Targets enabled evergreen Ruby engines and tests against the HEAD of runtime dependencies | |
| name: Runtime Deps @ HEAD | |
| permissions: | |
| contents: read | |
| env: | |
| K_SOUP_COV_DO: false | |
| on: | |
| push: | |
| branches: | |
| - 'main' | |
| - '*-stable' | |
| tags: | |
| - '!*' # Do not execute on tags | |
| pull_request: | |
| branches: | |
| - '*' | |
| # Allow manually triggering the workflow. | |
| workflow_dispatch: | |
| # Cancels all previous workflow runs for the same branch that have not yet completed. | |
| concurrency: | |
| # The concurrency group contains the workflow name and the branch name. | |
| group: "${{ github.workflow }}-${{ github.ref }}" | |
| cancel-in-progress: true | |
| jobs: | |
| ruby: | |
| if: "github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))" | |
| name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }}${{ matrix.name_extra || '' }} | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} | |
| env: # $BUNDLE_GEMFILE must be set at job level, so it is set for all steps | |
| BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.bundle_gemfile || 'Appraisal.root.gemfile' }} | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| include: | |
| # Ruby 3.4 | |
| - ruby: "ruby" | |
| appraisal: "dep-heads" | |
| exec_cmd: "kettle-test" | |
| rubygems: latest | |
| bundler: latest | |
| steps: | |
| - name: Checkout | |
| if: ${{ !env.ACT }} | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Ruby & RubyGems | |
| if: ${{ !env.ACT }} | |
| uses: ruby/setup-ruby@a30dfa457ad68707b8b910ac3a244714b61c0626 # v1.320.0 | |
| with: | |
| ruby-version: ${{ matrix.ruby }} | |
| rubygems: ${{ matrix.rubygems }} | |
| bundler: ${{ matrix.bundler }} | |
| bundler-cache: true | |
| - name: "[Attempt 1] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}" | |
| id: bundleAppraisalAttempt1 | |
| if: ${{ !env.ACT }} | |
| run: bundle exec appraisal ${{ matrix.appraisal }} install | |
| # Continue to the next step on failure | |
| continue-on-error: true | |
| # Effectively an automatic retry of the previous step. | |
| - name: "[Attempt 2] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}" | |
| id: bundleAppraisalAttempt2 | |
| # If bundleAppraisalAttempt1 failed, try again here; Otherwise skip. | |
| if: ${{ !env.ACT && steps.bundleAppraisalAttempt1.outcome == 'failure' }} | |
| run: bundle exec appraisal ${{ matrix.appraisal }} install | |
| - name: Restore RSpec status log | |
| if: "${{!env.ACT}}" | |
| uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: .rspec_status | |
| key: rspec-status-dep-heads-${{matrix.ruby}}-${{matrix.appraisal}}-${{hashFiles('**/Gemfile.lock','Appraisal.root.gemfile','gemfiles/**/*.gemfile')}}-${{github.run_id}}-${{github.run_attempt}} | |
| restore-keys: | | |
| rspec-status-dep-heads-${{matrix.ruby}}-${{matrix.appraisal}}-${{hashFiles('**/Gemfile.lock','Appraisal.root.gemfile','gemfiles/**/*.gemfile')}}- | |
| rspec-status-dep-heads-${{matrix.ruby}}-${{matrix.appraisal}}- | |
| - name: Tests for ${{ matrix.ruby }} via Appraisal and ${{ matrix.exec_cmd }} | |
| if: ${{ !env.ACT }} | |
| run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }} | |
| truffleruby: | |
| if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/'))" | |
| name: Specs truffleruby@dep-heads | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} | |
| env: | |
| BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.bundle_gemfile || 'Appraisal.root.gemfile' }} | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| include: | |
| - ruby: "truffleruby" | |
| appraisal: "dep-heads" | |
| exec_cmd: "kettle-test" | |
| # TruffleRuby's bundled RubyGems/Bundler path cannot reliably | |
| # bootstrap Appraisal against all configured gem servers here. | |
| # Run directly from the generated appraisal Gemfile instead. | |
| # This makes gemfiles/dep_heads.gemfile required checked-in output | |
| # for repositories using this generated workflow. | |
| bundle_gemfile: "gemfiles/dep_heads.gemfile" | |
| direct_bundle: true | |
| rubygems: default | |
| bundler: default | |
| steps: | |
| - name: Checkout | |
| if: ${{ !env.ACT }} | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Ruby & RubyGems | |
| if: ${{ !env.ACT }} | |
| uses: ruby/setup-ruby@a30dfa457ad68707b8b910ac3a244714b61c0626 # v1.320.0 | |
| with: | |
| ruby-version: ${{ matrix.ruby }} | |
| rubygems: ${{ matrix.rubygems }} | |
| bundler: ${{ matrix.bundler }} | |
| bundler-cache: true | |
| - name: Restore RSpec status log | |
| if: "${{!env.ACT}}" | |
| uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: .rspec_status | |
| key: rspec-status-dep-heads-${{matrix.ruby}}-${{matrix.appraisal}}-${{hashFiles('**/Gemfile.lock','Appraisal.root.gemfile','gemfiles/**/*.gemfile')}}-${{github.run_id}}-${{github.run_attempt}} | |
| restore-keys: | | |
| rspec-status-dep-heads-${{matrix.ruby}}-${{matrix.appraisal}}-${{hashFiles('**/Gemfile.lock','Appraisal.root.gemfile','gemfiles/**/*.gemfile')}}- | |
| rspec-status-dep-heads-${{matrix.ruby}}-${{matrix.appraisal}}- | |
| - name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }} | |
| if: ${{ !env.ACT }} | |
| run: bundle exec ${{ matrix.exec_cmd }} | |
| jruby: | |
| if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/'))" | |
| name: Specs jruby@dep-heads | |
| runs-on: ubuntu-latest | |
| continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} | |
| env: | |
| BUNDLE_GEMFILE: ${{ github.workspace }}/Appraisal.root.gemfile | |
| strategy: | |
| fail-fast: true | |
| matrix: | |
| include: | |
| - ruby: "jruby" | |
| appraisal: "dep-heads" | |
| exec_cmd: "kettle-test" | |
| rubygems: default | |
| bundler: default | |
| experimental: true | |
| steps: | |
| - name: Checkout | |
| if: ${{ !env.ACT }} | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Setup Ruby & RubyGems | |
| if: ${{ !env.ACT }} | |
| uses: ruby/setup-ruby@a30dfa457ad68707b8b910ac3a244714b61c0626 # v1.320.0 | |
| with: | |
| ruby-version: ${{ matrix.ruby }} | |
| rubygems: ${{ matrix.rubygems }} | |
| bundler: ${{ matrix.bundler }} | |
| bundler-cache: true | |
| - name: "[Attempt 1] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}" | |
| id: bundleAppraisalAttempt1 | |
| if: ${{ !env.ACT }} | |
| run: bundle exec appraisal ${{ matrix.appraisal }} install | |
| continue-on-error: true | |
| - name: "[Attempt 2] Appraisal for ${{ matrix.ruby }}@${{ matrix.appraisal }}" | |
| id: bundleAppraisalAttempt2 | |
| if: ${{ !env.ACT && steps.bundleAppraisalAttempt1.outcome == 'failure' }} | |
| run: bundle exec appraisal ${{ matrix.appraisal }} install | |
| - name: Restore RSpec status log | |
| if: "${{!env.ACT}}" | |
| uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: .rspec_status | |
| key: rspec-status-dep-heads-${{matrix.ruby}}-${{matrix.appraisal}}-${{hashFiles('**/Gemfile.lock','Appraisal.root.gemfile','gemfiles/**/*.gemfile')}}-${{github.run_id}}-${{github.run_attempt}} | |
| restore-keys: | | |
| rspec-status-dep-heads-${{matrix.ruby}}-${{matrix.appraisal}}-${{hashFiles('**/Gemfile.lock','Appraisal.root.gemfile','gemfiles/**/*.gemfile')}}- | |
| rspec-status-dep-heads-${{matrix.ruby}}-${{matrix.appraisal}}- | |
| - name: Tests for ${{ matrix.ruby }} via Appraisal and ${{ matrix.exec_cmd }} | |
| if: ${{ !env.ACT }} | |
| run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }} |