.github/workflows/ci.yml
name: Continuous Integration (experimental)
on:
push:
branches:
- main
paths-ignore:
- "doc/**"
- "**/*.md"
pull_request:
branches:
- main
jobs:
preparation:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Set up JS
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: "yarn"
rspec_parallel:
needs: [preparation]
strategy:
fail-fast: false
matrix:
groups: ["[0, 1, 2, 3]", "[4, 5, 6, 7]", "[8, 9, 10, 11]"]
uses: ./.github/workflows/rspec_parallel.yml
secrets: inherit
with:
groups: ${{ matrix.groups }}
group_count: 12 # the total number of test groups, must match the groups listed in the matrix.groups
parallel_processes_count: 4 # the number of parallel processes to run tests in worker, must match the size of the
# inner arrays in the matrix.groups
combine_and_report:
if: ${{ !cancelled() }}
uses: ./.github/workflows/combine_and_report.yml
needs: [rspec_parallel]
secrets: inherit