Repository navigation
Bump step-security/harden-runner from 2.21.1 to 2.22.2 #87
Workflow file for this run
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
| name: JRuby 10.0 | |
| permissions: | |
| contents: read | |
| env: | |
| # Kill stalled test workers instead of hanging until the CI job timeout. | |
| TURBO_TESTS2_WATCHDOG_SECONDS: 1500 | |
| # Each turbo_tests2 worker is a full JVM subprocess; without a heap cap | |
| # JRuby defaults to 1/4 of runner RAM per worker, and concurrent workers | |
| # get OOM-killed silently mid-run (watchdog then reports total silence). | |
| JRUBY_OPTS: "-J-Xmx1280m" | |
| # Fewer, smaller JVM workers: bound workers x per-worker heap under the | |
| # runner RAM so the kernel OOM killer never silences workers mid-run. | |
| TURBO_TESTS2_MAX_PROCESSES: 2 | |
| 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: | |
| test: | |
| 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/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))" | |
| name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| 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 }}/Appraisal.root.gemfile | |
| strategy: | |
| matrix: | |
| include: | |
| # jruby-10.0 (targets Ruby 3.4 compatibility) | |
| - ruby: "jruby-10.0" | |
| appraisal: "ruby-3-4" | |
| 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: appraisal-rb/setup-ruby-flash@6f8ad36ba7488db591541483afb5464d01e8861b # v2.14 | |
| with: | |
| ruby-version: ${{ matrix.ruby }} | |
| rubygems: ${{ matrix.rubygems }} | |
| bundler: ${{ matrix.bundler }} | |
| bundler-cache: true | |
| manual-compatibility-bundle: true | |
| gem-install-retries: 7 | |
| - 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: ${{ steps.bundleAppraisalAttempt1.outcome == 'failure' && !env.ACT }} | |
| run: | | |
| rm -f gemfiles/${{ matrix.appraisal }}.gemfile.lock | |
| rm -rf vendor/bundle "$HOME/.bundle/cache" | |
| 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-jruby-10.0-${{matrix.ruby}}-${{matrix.appraisal}}-${{hashFiles('**/Gemfile.lock','Appraisal.root.gemfile','gemfiles/**/*.gemfile')}}-${{github.run_id}}-${{github.run_attempt}} | |
| restore-keys: | | |
| rspec-status-jruby-10.0-${{matrix.ruby}}-${{matrix.appraisal}}-${{hashFiles('**/Gemfile.lock','Appraisal.root.gemfile','gemfiles/**/*.gemfile')}}- | |
| rspec-status-jruby-10.0-${{matrix.ruby}}-${{matrix.appraisal}}- | |
| - name: Tests for ${{ matrix.ruby }} via ${{ matrix.exec_cmd }} | |
| if: ${{ !env.ACT }} | |
| run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }} |