From 8b7cc4786caa6dea6e6a393ba1b00b3cb367265d Mon Sep 17 00:00:00 2001 From: nick evans Date: Wed, 15 May 2024 18:07:58 -0400 Subject: [PATCH 1/5] =?UTF-8?q?=E2=9C=85=20Test=20different=20versions=20o?= =?UTF-8?q?f=20resque=20and=20redis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Using Appraisal to generate the gemfiles --- .github/workflows/ruby.yml | 20 +++- .gitignore | 4 + Appraisals | 77 ++++++++++++++ Gemfile | 2 + Gemfile.lock | 133 ------------------------- gemfiles/resque_1.22_redis_2.0.gemfile | 10 ++ gemfiles/resque_1.23_redis_2.0.gemfile | 10 ++ gemfiles/resque_1.23_redis_3.0.gemfile | 10 ++ gemfiles/resque_1.24_redis_3.0.gemfile | 10 ++ gemfiles/resque_1.25_redis_3.0.gemfile | 10 ++ gemfiles/resque_1.26_redis_3.2.gemfile | 10 ++ gemfiles/resque_1.27_redis_3.3.gemfile | 10 ++ gemfiles/resque_2.0_redis_4.0.gemfile | 10 ++ gemfiles/resque_2.1_redis_4.4.gemfile | 10 ++ gemfiles/resque_2.2_redis_4.6.gemfile | 10 ++ gemfiles/resque_2.3_redis_4.7.gemfile | 10 ++ gemfiles/resque_2.4_redis_4.8.gemfile | 10 ++ gemfiles/resque_2.5_redis_5.0.gemfile | 10 ++ gemfiles/resque_2.6_redis_5.2.gemfile | 10 ++ 19 files changed, 241 insertions(+), 135 deletions(-) create mode 100644 Appraisals delete mode 100644 Gemfile.lock create mode 100644 gemfiles/resque_1.22_redis_2.0.gemfile create mode 100644 gemfiles/resque_1.23_redis_2.0.gemfile create mode 100644 gemfiles/resque_1.23_redis_3.0.gemfile create mode 100644 gemfiles/resque_1.24_redis_3.0.gemfile create mode 100644 gemfiles/resque_1.25_redis_3.0.gemfile create mode 100644 gemfiles/resque_1.26_redis_3.2.gemfile create mode 100644 gemfiles/resque_1.27_redis_3.3.gemfile create mode 100644 gemfiles/resque_2.0_redis_4.0.gemfile create mode 100644 gemfiles/resque_2.1_redis_4.4.gemfile create mode 100644 gemfiles/resque_2.2_redis_4.6.gemfile create mode 100644 gemfiles/resque_2.3_redis_4.7.gemfile create mode 100644 gemfiles/resque_2.4_redis_4.8.gemfile create mode 100644 gemfiles/resque_2.5_redis_5.0.gemfile create mode 100644 gemfiles/resque_2.6_redis_5.2.gemfile diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index d0124e24..44cdc358 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -1,11 +1,11 @@ name: CI -on: [push, pull_request, workflow_dispatch] +on: [push, workflow_dispatch] jobs: build: name: >- - ${{ matrix.os }} ${{ matrix.ruby-version }} + ${{ matrix.os }} ${{ matrix.ruby-version }} ${{ matrix.gemfile }} runs-on: ${{ matrix.os }} timeout-minutes: 10 strategy: @@ -13,11 +13,27 @@ jobs: matrix: os: [ ubuntu-22.04, ubuntu-20.04 ] ruby-version: [ "2.4", "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3" ] + gemfile: + - resque_1.22_redis_2.0 + - resque_1.23_redis_3.0 + - resque_1.24_redis_3.0 + - resque_1.25_redis_3.0 + - resque_1.27_redis_3.3 + - resque_2.0_redis_4.0 + - resque_2.1_redis_4.4 + - resque_2.2_redis_4.6 + - resque_2.3_redis_4.7 + - resque_2.4_redis_4.8 + - resque_2.5_redis_5.0 + - resque_2.6_redis_5.2 services: redis: image: redis + env: + BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile + steps: - uses: actions/checkout@v3 - name: Set up Ruby diff --git a/.gitignore b/.gitignore index ee67f61b..46fb4482 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,13 @@ pkg/* *.gem +*.gemfile.lock +Gemfile.lock .bundle +.ruby-version *.log *.pid examples/tmp/* +spec/stdout tmp/* vendor tags diff --git a/Appraisals b/Appraisals new file mode 100644 index 00000000..2529cb09 --- /dev/null +++ b/Appraisals @@ -0,0 +1,77 @@ +appraise "resque-1.22-redis-2.0" do + gem "resque", "1.22.0" # 2012-08-21 + gem "redis-namespace", "1.0.3" # 2011-05-17 + gem "redis", "2.2.2" # 2011-08-04 +end + +appraise "resque-1.23-redis-2.0" do + gem "resque", "1.23.1" # 2013-03-07 + gem "redis-namespace", "1.1.0" # 2011-08-15 + gem "redis", "2.2.2" # 2011-08-04 +end + +appraise "resque-1.24-redis-3.0" do + gem "resque", "1.24.0" # 2013-03-21 + gem "redis-namespace", "1.2.2" # 2013-08-03 + gem "redis", "3.0.7" # 2014-01-21 +end + +appraise "resque-1.25-redis-3.0" do + gem "resque", "1.25.2" # 2014-03-04 + gem "redis-namespace", "1.4.1" # 2013-12-04 + gem "redis", "3.0.7" # 2014-01-21 +end + +appraise "resque-1.26-redis-3.2" do + gem "resque", "1.26.0" # 2016-03-11 + gem "redis-namespace", "1.5.2" # 2015-03-30 + gem "redis", "3.2.2" # 2015-11-16 +end + +appraise "resque-1.27-redis-3.3" do + gem "resque", "1.27.4" # 2017-04-15 + gem "redis-namespace", "1.6.0" # 2017-11-03 + gem "redis", "3.3.5" # 2017-09-28 +end + +appraise "resque-2.0-redis-4.0" do + gem "resque", "2.0.0" # 2018-11-06 + gem "redis-namespace", "1.6.0" # 2017-11-03 + gem "redis", "4.0.3" # 2018-10-31 +end + +appraise "resque-2.1-redis-4.4" do + gem "resque", "2.1.0" # 2021-08-10 + gem "redis-namespace", "1.7.0" # 2019-12-11 + gem "redis", "4.4.0" # 2021-07-28 +end + +appraise "resque-2.2-redis-4.6" do + gem "resque", "2.2.1" # 2022-03-27 + gem "redis-namespace", "1.8.2" # 2022-03-07 + gem "redis", "4.6.0" # 2024-02-02 +end + +appraise "resque-2.3-redis-4.7" do + gem "resque", "2.3.0" # 2022-08-22 + gem "redis-namespace", "1.9.0" # 2022-08-13 + gem "redis", "4.7.1" # 2022-07-01 +end + +appraise "resque-2.4-redis-4.8" do + gem "resque", "2.4.0" # 2022-09-06 + gem "redis-namespace", "1.9.0" # 2022-08-13 + gem "redis", "4.8.1" # 2023-02-10 +end + +appraise "resque-2.5-redis-5.0" do + gem "resque", "2.5.0" # 2023-03-01 + gem "redis-namespace", "1.10.0" # 2022-12-22 + gem "redis", "5.0.8" # 2023-08-23 +end + +appraise "resque-2.6-redis-5.2" do + gem "resque", "2.6.0" # 2023-08-19 + gem "redis-namespace", "1.11.0" # 2023-06-08 + gem "redis", "5.2.0" # 2024-04-15 +end diff --git a/Gemfile b/Gemfile index b4e2a20b..555dc077 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,5 @@ source "https://rubygems.org" gemspec + +gem "appraisal" diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index e7714b95..00000000 --- a/Gemfile.lock +++ /dev/null @@ -1,133 +0,0 @@ -PATH - remote: . - specs: - resque-pool (0.7.1) - rake (>= 10.0, < 14.0) - resque (>= 1.22, < 3) - -GEM - remote: https://rubygems.org/ - specs: - activesupport (5.2.8.1) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - aruba (1.1.2) - bundler (>= 1.17, < 3.0) - childprocess (>= 2.0, < 5.0) - contracts (>= 0.16.0, < 0.18.0) - cucumber (>= 2.4, < 7.0) - rspec-expectations (~> 3.4) - thor (~> 1.0) - builder (3.2.4) - childprocess (4.1.0) - concurrent-ruby (1.2.3) - contracts (0.16.1) - cucumber (4.1.0) - builder (~> 3.2, >= 3.2.3) - cucumber-core (~> 7.1, >= 7.1.0) - cucumber-create-meta (~> 1.0.0, >= 1.0.0) - cucumber-cucumber-expressions (~> 10.1, >= 10.1.0) - cucumber-gherkin (~> 14.0, >= 14.0.1) - cucumber-html-formatter (~> 7.0, >= 7.0.0) - cucumber-messages (~> 12.2, >= 12.2.0) - cucumber-wire (~> 3.1, >= 3.1.0) - diff-lcs (~> 1.3, >= 1.3, < 1.4) - multi_test (~> 0.1, >= 0.1.2) - sys-uname (~> 1.0, >= 1.0.2) - cucumber-core (7.1.0) - cucumber-gherkin (~> 14.0, >= 14.0.1) - cucumber-messages (~> 12.2, >= 12.2.0) - cucumber-tag-expressions (~> 2.0, >= 2.0.4) - cucumber-create-meta (1.0.0) - cucumber-messages (~> 12.2, >= 12.2.0) - sys-uname (~> 1.2, >= 1.2.1) - cucumber-cucumber-expressions (10.3.0) - cucumber-gherkin (14.2.0) - cucumber-messages (~> 12.4, >= 12.4.0) - cucumber-html-formatter (7.2.0) - cucumber-messages (~> 12.4, >= 12.4.0) - cucumber-messages (12.4.0) - protobuf-cucumber (~> 3.10, >= 3.10.8) - cucumber-tag-expressions (2.0.4) - cucumber-wire (3.1.0) - cucumber-core (~> 7.1, >= 7.1.0) - cucumber-cucumber-expressions (~> 10.1, >= 10.1.0) - cucumber-messages (~> 12.2, >= 12.2.0) - diff-lcs (1.3) - ffi (1.15.5) - hpricot (0.8.6) - i18n (1.14.5) - concurrent-ruby (~> 1.0) - middleware (0.1.0) - minitest (5.15.0) - mono_logger (1.1.2) - multi_json (1.15.0) - multi_test (0.1.2) - mustache (1.1.1) - mustermann (2.0.2) - ruby2_keywords (~> 0.0.1) - protobuf-cucumber (3.10.8) - activesupport (>= 3.2) - middleware - thor - thread_safe - rack (2.2.9) - rack-protection (2.2.4) - rack - rake (13.2.1) - rdiscount (2.2.7.3) - redis (4.8.1) - redis-namespace (1.11.0) - redis (>= 4) - resque (2.6.0) - mono_logger (~> 1.0) - multi_json (~> 1.0) - redis-namespace (~> 1.6) - sinatra (>= 0.9.2) - ronn (0.7.3) - hpricot (>= 0.8.2) - mustache (>= 0.7.0) - rdiscount (>= 1.5.8) - rspec (3.13.0) - rspec-core (~> 3.13.0) - rspec-expectations (~> 3.13.0) - rspec-mocks (~> 3.13.0) - rspec-core (3.13.0) - rspec-support (~> 3.13.0) - rspec-expectations (3.13.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.13.0) - rspec-mocks (3.13.1) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.13.0) - rspec-support (3.13.1) - ruby2_keywords (0.0.5) - sinatra (2.2.4) - mustermann (~> 2.0) - rack (~> 2.2) - rack-protection (= 2.2.4) - tilt (~> 2.0) - sys-uname (1.2.3) - ffi (~> 1.1) - thor (1.2.2) - thread_safe (0.3.6) - tilt (2.3.0) - tzinfo (1.2.11) - thread_safe (~> 0.1) - -PLATFORMS - x86_64-linux - -DEPENDENCIES - aruba - bundler - cucumber - mustache - resque-pool! - ronn - rspec - -BUNDLED WITH - 2.3.16 diff --git a/gemfiles/resque_1.22_redis_2.0.gemfile b/gemfiles/resque_1.22_redis_2.0.gemfile new file mode 100644 index 00000000..0daaf576 --- /dev/null +++ b/gemfiles/resque_1.22_redis_2.0.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "resque", "1.22.0" +gem "redis-namespace", "1.0.3" +gem "redis", "2.2.2" + +gemspec path: "../" diff --git a/gemfiles/resque_1.23_redis_2.0.gemfile b/gemfiles/resque_1.23_redis_2.0.gemfile new file mode 100644 index 00000000..3d7ebd10 --- /dev/null +++ b/gemfiles/resque_1.23_redis_2.0.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "resque", "1.23.1" +gem "redis-namespace", "1.1.0" +gem "redis", "2.2.2" + +gemspec path: "../" diff --git a/gemfiles/resque_1.23_redis_3.0.gemfile b/gemfiles/resque_1.23_redis_3.0.gemfile new file mode 100644 index 00000000..1ed193c3 --- /dev/null +++ b/gemfiles/resque_1.23_redis_3.0.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "resque", "1.23.1" +gem "redis-namespace", "1.2.2" +gem "redis", "3.0.7" + +gemspec path: "../" diff --git a/gemfiles/resque_1.24_redis_3.0.gemfile b/gemfiles/resque_1.24_redis_3.0.gemfile new file mode 100644 index 00000000..67af3357 --- /dev/null +++ b/gemfiles/resque_1.24_redis_3.0.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "resque", "1.24.0" +gem "redis-namespace", "1.2.2" +gem "redis", "3.0.7" + +gemspec path: "../" diff --git a/gemfiles/resque_1.25_redis_3.0.gemfile b/gemfiles/resque_1.25_redis_3.0.gemfile new file mode 100644 index 00000000..3f1be5a8 --- /dev/null +++ b/gemfiles/resque_1.25_redis_3.0.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "resque", "1.25.2" +gem "redis-namespace", "1.4.1" +gem "redis", "3.0.7" + +gemspec path: "../" diff --git a/gemfiles/resque_1.26_redis_3.2.gemfile b/gemfiles/resque_1.26_redis_3.2.gemfile new file mode 100644 index 00000000..957d2bf5 --- /dev/null +++ b/gemfiles/resque_1.26_redis_3.2.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "resque", "1.26.0" +gem "redis-namespace", "1.5.2" +gem "redis", "3.2.2" + +gemspec path: "../" diff --git a/gemfiles/resque_1.27_redis_3.3.gemfile b/gemfiles/resque_1.27_redis_3.3.gemfile new file mode 100644 index 00000000..fad3c2ab --- /dev/null +++ b/gemfiles/resque_1.27_redis_3.3.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "resque", "1.27.4" +gem "redis-namespace", "1.6.0" +gem "redis", "3.3.5" + +gemspec path: "../" diff --git a/gemfiles/resque_2.0_redis_4.0.gemfile b/gemfiles/resque_2.0_redis_4.0.gemfile new file mode 100644 index 00000000..b35e334d --- /dev/null +++ b/gemfiles/resque_2.0_redis_4.0.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "resque", "2.0.0" +gem "redis-namespace", "1.6.0" +gem "redis", "4.0.3" + +gemspec path: "../" diff --git a/gemfiles/resque_2.1_redis_4.4.gemfile b/gemfiles/resque_2.1_redis_4.4.gemfile new file mode 100644 index 00000000..44256754 --- /dev/null +++ b/gemfiles/resque_2.1_redis_4.4.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "resque", "2.1.0" +gem "redis-namespace", "1.7.0" +gem "redis", "4.4.0" + +gemspec path: "../" diff --git a/gemfiles/resque_2.2_redis_4.6.gemfile b/gemfiles/resque_2.2_redis_4.6.gemfile new file mode 100644 index 00000000..3dcafad3 --- /dev/null +++ b/gemfiles/resque_2.2_redis_4.6.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "resque", "2.2.1" +gem "redis-namespace", "1.8.2" +gem "redis", "4.6.0" + +gemspec path: "../" diff --git a/gemfiles/resque_2.3_redis_4.7.gemfile b/gemfiles/resque_2.3_redis_4.7.gemfile new file mode 100644 index 00000000..51f43e9f --- /dev/null +++ b/gemfiles/resque_2.3_redis_4.7.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "resque", "2.3.0" +gem "redis-namespace", "1.9.0" +gem "redis", "4.7.1" + +gemspec path: "../" diff --git a/gemfiles/resque_2.4_redis_4.8.gemfile b/gemfiles/resque_2.4_redis_4.8.gemfile new file mode 100644 index 00000000..a1fc4def --- /dev/null +++ b/gemfiles/resque_2.4_redis_4.8.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "resque", "2.4.0" +gem "redis-namespace", "1.9.0" +gem "redis", "4.8.1" + +gemspec path: "../" diff --git a/gemfiles/resque_2.5_redis_5.0.gemfile b/gemfiles/resque_2.5_redis_5.0.gemfile new file mode 100644 index 00000000..04f56f90 --- /dev/null +++ b/gemfiles/resque_2.5_redis_5.0.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "resque", "2.5.0" +gem "redis-namespace", "1.10.0" +gem "redis", "5.0.8" + +gemspec path: "../" diff --git a/gemfiles/resque_2.6_redis_5.2.gemfile b/gemfiles/resque_2.6_redis_5.2.gemfile new file mode 100644 index 00000000..64c54f1d --- /dev/null +++ b/gemfiles/resque_2.6_redis_5.2.gemfile @@ -0,0 +1,10 @@ +# This file was generated by Appraisal + +source "https://rubygems.org" + +gem "appraisal" +gem "resque", "2.6.0" +gem "redis-namespace", "1.11.0" +gem "redis", "5.2.0" + +gemspec path: "../" From 8f2d6964d277f70ecfcf1c3babb1b96699180389 Mon Sep 17 00:00:00 2001 From: nick evans Date: Thu, 16 May 2024 09:06:05 -0400 Subject: [PATCH 2/5] =?UTF-8?q?=E2=9C=85=20Drop=20CI=20builds=20using=20Ub?= =?UTF-8?q?untu=2020.04?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit While these theoretically might be useful for catching some weird edge-case bugs, it doubles the number of CI builds. So, instead we'll just include a single runner for the older OS. --- .github/workflows/ruby.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 44cdc358..40733e2b 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -11,7 +11,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-22.04, ubuntu-20.04 ] + os: [ ubuntu-22.04 ] ruby-version: [ "2.4", "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3" ] gemfile: - resque_1.22_redis_2.0 @@ -26,6 +26,10 @@ jobs: - resque_2.4_redis_4.8 - resque_2.5_redis_5.0 - resque_2.6_redis_5.2 + include: + - os: ubuntu-20.04 + ruby-version: "3.3" + gemfile: resque_2.6_redis_5.2 services: redis: From 4762cfad6c69830d79b143ba314a48119d97b6a1 Mon Sep 17 00:00:00 2001 From: nick evans Date: Thu, 16 May 2024 09:11:33 -0400 Subject: [PATCH 3/5] =?UTF-8?q?=E2=9C=85=20Rename=20CI=20matrix.ruby-versi?= =?UTF-8?q?on=20=3D>=20matrix.ruby?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ruby.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index 40733e2b..b3214ffc 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -5,14 +5,14 @@ on: [push, workflow_dispatch] jobs: build: name: >- - ${{ matrix.os }} ${{ matrix.ruby-version }} ${{ matrix.gemfile }} + ${{ matrix.os }} ${{ matrix.ruby }} ${{ matrix.gemfile }} runs-on: ${{ matrix.os }} timeout-minutes: 10 strategy: fail-fast: false matrix: os: [ ubuntu-22.04 ] - ruby-version: [ "2.4", "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3" ] + ruby: [ "2.4", "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3" ] gemfile: - resque_1.22_redis_2.0 - resque_1.23_redis_3.0 @@ -28,7 +28,7 @@ jobs: - resque_2.6_redis_5.2 include: - os: ubuntu-20.04 - ruby-version: "3.3" + ruby: "3.3" gemfile: resque_2.6_redis_5.2 services: @@ -43,7 +43,7 @@ jobs: - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: ${{ matrix.ruby-version }} + ruby-version: ${{ matrix.ruby }} bundler-cache: true - run: sudo apt-get install redis-server - name: Run specs From 404143eeb3339c256eda84a619fb4d4f4ea33dec Mon Sep 17 00:00:00 2001 From: nick evans Date: Thu, 16 May 2024 09:16:01 -0400 Subject: [PATCH 4/5] =?UTF-8?q?=E2=9C=85=20Split=20CI=20matrix.gemfile=20i?= =?UTF-8?q?nto=20resque=20and=20redis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ruby.yml | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index b3214ffc..cb083dcc 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -5,7 +5,7 @@ on: [push, workflow_dispatch] jobs: build: name: >- - ${{ matrix.os }} ${{ matrix.ruby }} ${{ matrix.gemfile }} + ruby ${{ matrix.ruby }}, resque ${{ matrix.resque }}, redis ${{ matrix.redis }}, ${{ matrix.os }} runs-on: ${{ matrix.os }} timeout-minutes: 10 strategy: @@ -13,30 +13,35 @@ jobs: matrix: os: [ ubuntu-22.04 ] ruby: [ "2.4", "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3" ] - gemfile: - - resque_1.22_redis_2.0 - - resque_1.23_redis_3.0 - - resque_1.24_redis_3.0 - - resque_1.25_redis_3.0 - - resque_1.27_redis_3.3 - - resque_2.0_redis_4.0 - - resque_2.1_redis_4.4 - - resque_2.2_redis_4.6 - - resque_2.3_redis_4.7 - - resque_2.4_redis_4.8 - - resque_2.5_redis_5.0 - - resque_2.6_redis_5.2 + resque: [ "1.22", "1.23", "1.24", "1.25", "1.26", "1.27", "2.0", "2.1", "2.2", "2.3", "2.4", "2.5", "2.6" ] + include: + - { resque: "1.22", redis: "2.0" } + - { resque: "1.23", redis: "3.0" } + - { resque: "1.24", redis: "3.0" } + - { resque: "1.25", redis: "3.0" } + - { resque: "1.26", redis: "3.2" } + - { resque: "1.27", redis: "3.3" } + - { resque: "2.0", redis: "4.0" } + - { resque: "2.1", redis: "4.4" } + - { resque: "2.2", redis: "4.6" } + - { resque: "2.3", redis: "4.7" } + - { resque: "2.4", redis: "4.8" } + - { resque: "2.5", redis: "5.0" } + - { resque: "2.6", redis: "5.2" } + - os: ubuntu-20.04 ruby: "3.3" - gemfile: resque_2.6_redis_5.2 + resque: "2.6" + redis: "5.2" + services: redis: image: redis env: - BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile + BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/resque_${{ matrix.resque }}_redis_${{ matrix.redis }}.gemfile steps: - uses: actions/checkout@v3 From 64735fb01d404597d3f7ea65d94167ce099b3a6e Mon Sep 17 00:00:00 2001 From: nick evans Date: Thu, 16 May 2024 09:40:58 -0400 Subject: [PATCH 5/5] =?UTF-8?q?=E2=9C=85=20Exclude=20incompatible=20versio?= =?UTF-8?q?ns=20from=20CI=20matrix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With a little effort, some of these could be made compatible, but... it's really not worth the effort. We'll be dropping support for older versions from the next minor release anyway. --- .github/workflows/ruby.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml index cb083dcc..dd8e0fef 100644 --- a/.github/workflows/ruby.yml +++ b/.github/workflows/ruby.yml @@ -35,6 +35,25 @@ jobs: resque: "2.6" redis: "5.2" + exclude: + # The resque 1.22 gemfile seems to be okay with ruby 3.2 and 3.3 + - { resque: "1.23", ruby: "3.2" } # unknown incompatibility... + - { resque: "1.23", ruby: "3.3" } # unknown incompatibility... + - { resque: "1.24", ruby: "3.2" } # unknown incompatibility... + - { resque: "1.24", ruby: "3.3" } # unknown incompatibility... + - { resque: "1.25", ruby: "3.2" } # unknown incompatibility... + - { resque: "1.25", ruby: "3.3" } # unknown incompatibility... + - { resque: "1.26", ruby: "3.2" } # unknown incompatibility... + - { resque: "1.26", ruby: "3.3" } # unknown incompatibility... + + - { resque: "2.1", ruby: "3.0" } # redis-namespace 1.7 requires ruby < 3 + - { resque: "2.1", ruby: "3.1" } # redis-namespace 1.7 requires ruby < 3 + - { resque: "2.1", ruby: "3.2" } # redis-namespace 1.7 requires ruby < 3 + - { resque: "2.1", ruby: "3.3" } # redis-namespace 1.7 requires ruby < 3 + + - { resque: "2.5", ruby: "2.4" } # redis 5.0 requires ruby 2.5 + - { resque: "2.6", ruby: "2.4" } # redis 5.2 requires ruby 2.6 + - { resque: "2.6", ruby: "2.5" } # redis 5.2 requires ruby 2.6 services: redis: