From 6772c88b5d722a7c476e288e369e667cdebaabea Mon Sep 17 00:00:00 2001 From: Michal Granec Date: Tue, 18 Nov 2025 16:08:24 +0100 Subject: [PATCH 1/2] Add ruby version matrix --- .github/workflows/test.yml | 18 +++++++++++++++--- README.md | 2 +- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3d93a1e..43c9d3d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -5,12 +5,14 @@ on: branches: - master pull_request: - branches: - - master + jobs: test: runs-on: ubuntu-latest + strategy: + matrix: + ruby-version: ['3.3', '3.2', '3.1', '3.0', '2.7', '2.6', '2.5', '2.4'] services: redis: image: redis:7-alpine @@ -27,6 +29,16 @@ jobs: - name: Setup Ruby uses: ruby/setup-ruby@v1 with: + ruby-version: ${{ matrix.ruby-version }} bundler-cache: true - name: Run tests - run: bundle exec rspec + run: | + mkdir -p test_results + bundle exec rspec --format progress --format RspecJunitFormatter --out test_results/rspec.xml + - name: Upload test results + if: always() + uses: actions/upload-artifact@v4 + with: + name: test-results-${{ matrix.ruby-version }} + path: test_results/rspec.xml + retention-days: 30 diff --git a/README.md b/README.md index 0e81d92..ae0457a 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Fast feature flags based on Redis. [![Gem Version](https://badge.fury.io/rb/rollout.svg)](https://badge.fury.io/rb/rollout) -[![CircleCI](https://circleci.com/gh/fetlife/rollout.svg?style=svg)](https://circleci.com/gh/fetlife/rollout) +[![CI](https://github.com/fetlife/rollout/actions/workflows/test.yml/badge.svg)](https://github.com/fetlife/rollout/actions/workflows/test.yml) [![Code Climate](https://codeclimate.com/github/FetLife/rollout/badges/gpa.svg)](https://codeclimate.com/github/FetLife/rollout) [![Test Coverage](https://codeclimate.com/github/FetLife/rollout/badges/coverage.svg)](https://codeclimate.com/github/FetLife/rollout/coverage) From 29da5d5576b33cb91b870072f79d6f0bf639ffc0 Mon Sep 17 00:00:00 2001 From: Michal Granec Date: Tue, 18 Nov 2025 16:08:45 +0100 Subject: [PATCH 2/2] Remove CircleCI config --- .circleci/config.yml | 119 ------------------------------------------- 1 file changed, 119 deletions(-) delete mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index bd596fc..0000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,119 +0,0 @@ -version: 2.1 - -workflows: - main: - jobs: - - ruby33 - - ruby31 - - ruby32 - - ruby30 - - ruby27 - - ruby26 - - ruby25 - - ruby24 - -executors: - ruby33: - docker: - - image: cimg/ruby:3.3 - - image: cimg/redis:7.2 - ruby32: - docker: - - image: cimg/ruby:3.2 - - image: cimg/redis:7.2 - ruby31: - docker: - - image: cimg/ruby:3.1 - - image: cimg/redis:7.2 - ruby30: - docker: - - image: cimg/ruby:3.0 - - image: cimg/redis:7.2 - ruby27: - docker: - - image: cimg/ruby:2.7 - - image: cimg/redis:7.2 - ruby26: - docker: - - image: cimg/ruby:2.7 - - image: cimg/redis:7.2 - ruby25: - docker: - - image: cimg/ruby:2.7 - - image: cimg/redis:7.2 - ruby24: - docker: - - image: cimg/ruby:2.4 - - image: cimg/redis:7.2 - -commands: - test: - steps: - - run: - name: Bundle Install - command: bundle check --path vendor/bundle || bundle install - - - run: - name: Run rspec - command: | - bundle exec rspec --format documentation --format RspecJunitFormatter --out test_results/rspec.xml - -jobs: - ruby33: - executor: ruby33 - steps: - - checkout - - test - - - run: - name: Report Test Coverage - command: | - wget https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 -O cc-test-reporter - chmod +x cc-test-reporter - ./cc-test-reporter format-coverage -t simplecov -o coverage/codeclimate.json coverage/.resultset.json - ./cc-test-reporter upload-coverage -i coverage/codeclimate.json - - - store_test_results: - path: test_results - - ruby32: - executor: ruby30 - steps: - - checkout - - test - - ruby31: - executor: ruby30 - steps: - - checkout - - test - - ruby30: - executor: ruby30 - steps: - - checkout - - test - - ruby27: - executor: ruby27 - steps: - - checkout - - test - - ruby26: - executor: ruby27 - steps: - - checkout - - test - - ruby25: - executor: ruby27 - steps: - - checkout - - test - - ruby24: - executor: ruby24 - steps: - - checkout - - test