Skip to content

STORY-19252: Keep test matrix automatically up to date #145

STORY-19252: Keep test matrix automatically up to date

STORY-19252: Keep test matrix automatically up to date #145

Workflow file for this run

name: Pipeline
on: [push]
jobs:
ruby-versions:
runs-on: ubuntu-latest
outputs:
versions: ${{ steps.versions.outputs.supported_versions }}
steps:
- id: versions
uses: Invoca/supported_ruby_versions_action@main
gemfiles:
runs-on: ubuntu-latest
outputs:
gemfiles: ${{ steps.gemfiles.outputs.gemfiles }}
steps:
- id: gemfiles
uses: actions/checkout@v4
- run: echo "gemfiles=\[$(ls -1 gemfiles/*.gemfile | tr '\n' ' ')\]" >> "$GITHUB_OUTPUT"
tests:
name: Unit Tests
runs-on: ubuntu-latest
needs: [ruby-versions, gemfiles]
strategy:
fail-fast: false
matrix:
ruby: ${{ fromJson(needs.ruby-versions.outputs.versions) }}
gemfile: ${{ fromJson(needs.gemfiles.outputs.gemfiles) }}
env:
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler: 2.2.29
bundler-cache: true
- run: bundle exec rails db:migrate
- run: bundle exec rake test
build_success:
if: always()
needs:
- tests
runs-on: Ubuntu-latest
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}