From 281dcd52c6ae13cafeb5a49ce74b2fc124940f6c Mon Sep 17 00:00:00 2001 From: Drew Caddell Date: Thu, 26 Sep 2024 10:15:34 -0700 Subject: [PATCH] STORY-19252: Keep test matrix automatically up to date --- .github/workflows/pipeline.yml | 31 +++++++++++++++++++++++-------- gemfiles/rails_5.gemfile | 19 ------------------- gemfiles/rails_6.gemfile | 19 ------------------- 3 files changed, 23 insertions(+), 46 deletions(-) delete mode 100644 gemfiles/rails_5.gemfile delete mode 100644 gemfiles/rails_6.gemfile diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index cf872aa..6695ed0 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -1,23 +1,37 @@ 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' ',')Gemfile]" >> $GITHUB_ENV + tests: name: Unit Tests runs-on: ubuntu-latest + needs: [ruby-versions, gemfiles] strategy: fail-fast: false matrix: - ruby: [3.1, 3.2, 3.3] - gemfile: - - Gemfile - - gemfiles/activerecord_6_0.gemfile - - gemfiles/activerecord_6_1.gemfile - - gemfiles/activerecord_7_0.gemfile - - gemfiles/activerecord_7_1.gemfile + ruby: ${{ fromJson(needs.ruby-versions.outputs.versions) }} + gemfile: ${{ fromJson(needs.gemfiles.outputs.gemfiles) }} env: BUNDLE_GEMFILE: ${{ matrix.gemfile }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} @@ -25,6 +39,7 @@ jobs: bundler-cache: true - run: bundle exec rails db:migrate - run: bundle exec rake test + build_success: if: always() needs: diff --git a/gemfiles/rails_5.gemfile b/gemfiles/rails_5.gemfile deleted file mode 100644 index 498a6d3..0000000 --- a/gemfiles/rails_5.gemfile +++ /dev/null @@ -1,19 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "activerecord", "~> 5.2" -gem "appraisal" -gem "bigdecimal" -gem "jquery-rails" -gem "minitest", "~> 5.1" -gem "minitest-reporters" -gem "pry" -gem "rr", "1.1.2" -gem "rubocop", require: false -gem "shoulda" -gem "sqlite3" -gem "test_after_commit", require: false -gem "test-unit", "3.1.3" - -gemspec path: "../" diff --git a/gemfiles/rails_6.gemfile b/gemfiles/rails_6.gemfile deleted file mode 100644 index b09336c..0000000 --- a/gemfiles/rails_6.gemfile +++ /dev/null @@ -1,19 +0,0 @@ -# This file was generated by Appraisal - -source "https://rubygems.org" - -gem "activerecord", "~> 6.0", "< 6.1" -gem "appraisal" -gem "bigdecimal" -gem "jquery-rails" -gem "minitest", "~> 5.1" -gem "minitest-reporters" -gem "pry" -gem "rr", "1.1.2" -gem "rubocop", require: false -gem "shoulda" -gem "sqlite3" -gem "test_after_commit", require: false -gem "test-unit", "3.1.3" - -gemspec path: "../"