Skip to content

Adopt Ruby Community Conduct Guideline for Code of Conduct #10816

Adopt Ruby Community Conduct Guideline for Code of Conduct

Adopt Ruby Community Conduct Guideline for Code of Conduct #10816

Workflow file for this run

name: bundler
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
defaults:
run:
shell: bash
jobs:
bundler:
name: Bundler on ${{ matrix.os.name }} (${{ matrix.ruby.name }})
runs-on: ${{ matrix.os.value }}
strategy:
fail-fast: false
matrix:
os:
- { name: Ubuntu, value: ubuntu-24.04 }
ruby:
- { name: ruby-3.2, value: 3.2.9 }
- { name: ruby-3.3, value: 3.3.9 }
- { name: ruby-3.4, value: 3.4.5 }
include:
- { os: { name: macOS, value: macos-15 }, ruby: { name: ruby-3.2, value: 3.2.9 }, timeout: 90 }
- { os: { name: macOS, value: macos-15 }, ruby: { name: ruby-3.3, value: 3.3.9 }, timeout: 90 }
- { os: { name: macOS, value: macos-15 }, ruby: { name: ruby-3.4, value: 3.4.5 }, timeout: 90 }
- { os: { name: Windows, value: windows-2025 }, ruby: { name: ruby-3.2, value: 3.2.9 }, timeout: 150 }
- { os: { name: Windows, value: windows-2025 }, ruby: { name: ruby-3.3, value: 3.3.9 }, timeout: 150 }
- { os: { name: Windows, value: windows-2025 }, ruby: { name: ruby-3.4, value: 3.4.5 }, timeout: 150 }
- { os: { name: Ubuntu, value: ubuntu-24.04 }, ruby: { name: jruby, value: jruby-10.0.2.0 } }
- { os: { name: Windows, value: windows-2025 }, ruby: { name: jruby, value: jruby-10.0.2.0 } }
env:
RGV: ..
RUBYOPT: --disable-gems
steps:
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
persist-credentials: false
- name: Setup ruby
uses: ruby/setup-ruby@0481980f17b760ef6bca5e8c55809102a0af1e5a # v1.263.0
with:
ruby-version: ${{ matrix.ruby.value }}
bundler: none
- name: Setup java
uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
with:
distribution: temurin
java-version: 21.0.7
if: matrix.ruby.name == 'jruby'
- name: Prepare dependencies
run: |
bin/rake dev:deps
- name: Run Test (CRuby)
run: |
bin/parallel_rspec
working-directory: ./bundler
if: matrix.ruby.name != 'jruby'
- name: Run Test (JRuby)
run: |
bin/parallel_rspec --tag jruby_only --tag jruby
working-directory: ./bundler
if: matrix.ruby.name == 'jruby' && matrix.os.name == 'Ubuntu'
- name: Run a warbler project
run: |
bin/rake bundler:install:local
cd bundler/spec/realworld/fixtures/warbler
bundle install
bundle exec warble
java -jar warbler.jar
if: matrix.ruby.name == 'jruby' && matrix.os.name == 'Ubuntu'
timeout-minutes: ${{ matrix.timeout || 60 }}
all-pass:
name: All bundler jobs pass
if: always()
needs:
- bundler
runs-on: ubuntu-latest
steps:
- name: check dependent jobs
uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe # v1.2.2
with:
jobs: ${{ toJSON(needs) }}