From 669d0c54307711d5ec33a84958933a3d5a688d80 Mon Sep 17 00:00:00 2001 From: Massimiliano Lattanzio Date: Tue, 16 Jan 2024 10:07:20 +0100 Subject: [PATCH 1/6] Use GitHub Actions for CI --- .github/workflows/test.yml | 21 +++++++++++++++++++ gemfiles/activesupport51.gemfile | 5 ----- gemfiles/activesupport52.gemfile | 5 ----- gemfiles/activesupport_master.gemfile | 5 ----- ...ivesupport42.gemfile => rails-4.2.gemfile} | 5 +++-- ...ivesupport50.gemfile => rails-5.0.gemfile} | 6 +++--- gemfiles/rails-5.1.gemfile | 6 ++++++ gemfiles/rails-5.2.gemfile | 6 ++++++ 8 files changed, 39 insertions(+), 20 deletions(-) create mode 100644 .github/workflows/test.yml delete mode 100644 gemfiles/activesupport51.gemfile delete mode 100644 gemfiles/activesupport52.gemfile delete mode 100644 gemfiles/activesupport_master.gemfile rename gemfiles/{activesupport42.gemfile => rails-4.2.gemfile} (68%) rename gemfiles/{activesupport50.gemfile => rails-5.0.gemfile} (56%) create mode 100644 gemfiles/rails-5.1.gemfile create mode 100644 gemfiles/rails-5.2.gemfile diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..291fa2fa8 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,21 @@ +--- +name: Tests +on: [ push, pull_request ] +jobs: + test: + name: Test (Ruby ${{ matrix.ruby }}, Rails ${{ matrix.rails }}) + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + ruby: [ '2.2', '2.3', '2.4' ] + rails: [ '4.2', '5.0', '5.1', '5.2' ] + env: + BUNDLE_GEMFILE: gemfiles/rails-${{ matrix.rails }}.gemfile + steps: + - uses: actions/checkout@v3 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + - run: bundle exec rake \ No newline at end of file diff --git a/gemfiles/activesupport51.gemfile b/gemfiles/activesupport51.gemfile deleted file mode 100644 index feffe1399..000000000 --- a/gemfiles/activesupport51.gemfile +++ /dev/null @@ -1,5 +0,0 @@ -source "https://rubygems.org" - -gemspec path: '..' - -gem 'activesupport', '~> 5.1.0' \ No newline at end of file diff --git a/gemfiles/activesupport52.gemfile b/gemfiles/activesupport52.gemfile deleted file mode 100644 index 95534b373..000000000 --- a/gemfiles/activesupport52.gemfile +++ /dev/null @@ -1,5 +0,0 @@ -source "https://rubygems.org" - -gemspec path: '..' - -gem 'activesupport', '~> 5.2.0' \ No newline at end of file diff --git a/gemfiles/activesupport_master.gemfile b/gemfiles/activesupport_master.gemfile deleted file mode 100644 index 94fcb951b..000000000 --- a/gemfiles/activesupport_master.gemfile +++ /dev/null @@ -1,5 +0,0 @@ -source "https://rubygems.org" - -gemspec path: '..' - -gem 'activesupport', github: 'rails/rails' diff --git a/gemfiles/activesupport42.gemfile b/gemfiles/rails-4.2.gemfile similarity index 68% rename from gemfiles/activesupport42.gemfile rename to gemfiles/rails-4.2.gemfile index 67f93e540..8c8104051 100644 --- a/gemfiles/activesupport42.gemfile +++ b/gemfiles/rails-4.2.gemfile @@ -1,5 +1,6 @@ source "https://rubygems.org" -gemspec path: '..' - gem 'activesupport', '~> 4.2.0' +gem 'i18n' + +gemspec path: '..' \ No newline at end of file diff --git a/gemfiles/activesupport50.gemfile b/gemfiles/rails-5.0.gemfile similarity index 56% rename from gemfiles/activesupport50.gemfile rename to gemfiles/rails-5.0.gemfile index 50391f95c..cd1576fb9 100644 --- a/gemfiles/activesupport50.gemfile +++ b/gemfiles/rails-5.0.gemfile @@ -1,6 +1,6 @@ source "https://rubygems.org" -gemspec path: '..' - gem 'activesupport', '~> 5.0.0' -gem 'active_utils', '~> 3.3.0' +gem 'i18n' + +gemspec path: '..' \ No newline at end of file diff --git a/gemfiles/rails-5.1.gemfile b/gemfiles/rails-5.1.gemfile new file mode 100644 index 000000000..433b33e9e --- /dev/null +++ b/gemfiles/rails-5.1.gemfile @@ -0,0 +1,6 @@ +source "https://rubygems.org" + +gem 'activesupport', '~> 5.1.0' +gem 'i18n' + +gemspec path: '..' \ No newline at end of file diff --git a/gemfiles/rails-5.2.gemfile b/gemfiles/rails-5.2.gemfile new file mode 100644 index 000000000..6d85f7ffb --- /dev/null +++ b/gemfiles/rails-5.2.gemfile @@ -0,0 +1,6 @@ +source "https://rubygems.org" + +gem 'activesupport', '~> 5.2.0' +gem 'i18n' + +gemspec path: '..' \ No newline at end of file From 24b930266a40abba115b27ab22e4a40da5712391 Mon Sep 17 00:00:00 2001 From: Massimiliano Lattanzio Date: Tue, 16 Jan 2024 10:11:08 +0100 Subject: [PATCH 2/6] Remove Rails 4 support --- .github/workflows/test.yml | 2 +- active_shipping.gemspec | 2 +- gemfiles/rails-4.2.gemfile | 6 ------ 3 files changed, 2 insertions(+), 8 deletions(-) delete mode 100644 gemfiles/rails-4.2.gemfile diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 291fa2fa8..d6fbd4284 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,7 +9,7 @@ jobs: fail-fast: false matrix: ruby: [ '2.2', '2.3', '2.4' ] - rails: [ '4.2', '5.0', '5.1', '5.2' ] + rails: [ '5.0', '5.1', '5.2' ] env: BUNDLE_GEMFILE: gemfiles/rails-${{ matrix.rails }}.gemfile steps: diff --git a/active_shipping.gemspec b/active_shipping.gemspec index d07eed7da..e7757cee1 100644 --- a/active_shipping.gemspec +++ b/active_shipping.gemspec @@ -21,7 +21,7 @@ Gem::Specification.new do |s| s.add_dependency("measured", ">= 2.0") - s.add_dependency("activesupport", ">= 4.2", "< 6.1") + s.add_dependency("activesupport", ">= 5.0", "< 6.1") s.add_dependency("active_utils", "~> 3.3.1") s.add_dependency("nokogiri", ">= 1.6") diff --git a/gemfiles/rails-4.2.gemfile b/gemfiles/rails-4.2.gemfile deleted file mode 100644 index 8c8104051..000000000 --- a/gemfiles/rails-4.2.gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source "https://rubygems.org" - -gem 'activesupport', '~> 4.2.0' -gem 'i18n' - -gemspec path: '..' \ No newline at end of file From dbb41e88f99969e88430806c32ed0ba5ce397f9b Mon Sep 17 00:00:00 2001 From: Massimiliano Lattanzio Date: Tue, 16 Jan 2024 10:13:02 +0100 Subject: [PATCH 3/6] Remove unused Ruby/Rails versions --- .github/workflows/test.yml | 4 ++-- active_shipping.gemspec | 2 +- gemfiles/rails-5.0.gemfile | 6 ------ gemfiles/rails-5.1.gemfile | 6 ------ 4 files changed, 3 insertions(+), 15 deletions(-) delete mode 100644 gemfiles/rails-5.0.gemfile delete mode 100644 gemfiles/rails-5.1.gemfile diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d6fbd4284..11512ae7e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,8 +8,8 @@ jobs: strategy: fail-fast: false matrix: - ruby: [ '2.2', '2.3', '2.4' ] - rails: [ '5.0', '5.1', '5.2' ] + ruby: [ '2.7' ] + rails: [ '5.2' ] env: BUNDLE_GEMFILE: gemfiles/rails-${{ matrix.rails }}.gemfile steps: diff --git a/active_shipping.gemspec b/active_shipping.gemspec index e7757cee1..599be3349 100644 --- a/active_shipping.gemspec +++ b/active_shipping.gemspec @@ -21,7 +21,7 @@ Gem::Specification.new do |s| s.add_dependency("measured", ">= 2.0") - s.add_dependency("activesupport", ">= 5.0", "< 6.1") + s.add_dependency("activesupport", ">= 5.2", "< 6.1") s.add_dependency("active_utils", "~> 3.3.1") s.add_dependency("nokogiri", ">= 1.6") diff --git a/gemfiles/rails-5.0.gemfile b/gemfiles/rails-5.0.gemfile deleted file mode 100644 index cd1576fb9..000000000 --- a/gemfiles/rails-5.0.gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source "https://rubygems.org" - -gem 'activesupport', '~> 5.0.0' -gem 'i18n' - -gemspec path: '..' \ No newline at end of file diff --git a/gemfiles/rails-5.1.gemfile b/gemfiles/rails-5.1.gemfile deleted file mode 100644 index 433b33e9e..000000000 --- a/gemfiles/rails-5.1.gemfile +++ /dev/null @@ -1,6 +0,0 @@ -source "https://rubygems.org" - -gem 'activesupport', '~> 5.1.0' -gem 'i18n' - -gemspec path: '..' \ No newline at end of file From 31eb8c2ccd03943be0039dfe171da44a620fb15f Mon Sep 17 00:00:00 2001 From: Massimiliano Lattanzio Date: Tue, 16 Jan 2024 10:14:20 +0100 Subject: [PATCH 4/6] Add Rails 6 support --- .github/workflows/test.yml | 2 +- active_shipping.gemspec | 2 +- gemfiles/rails-6.0.gemfile | 6 ++++++ gemfiles/rails-6.1.gemfile | 6 ++++++ 4 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 gemfiles/rails-6.0.gemfile create mode 100644 gemfiles/rails-6.1.gemfile diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 11512ae7e..8b4c5bfd4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,7 +9,7 @@ jobs: fail-fast: false matrix: ruby: [ '2.7' ] - rails: [ '5.2' ] + rails: [ '5.2', '6.0', '6.1' ] env: BUNDLE_GEMFILE: gemfiles/rails-${{ matrix.rails }}.gemfile steps: diff --git a/active_shipping.gemspec b/active_shipping.gemspec index 599be3349..aae03864f 100644 --- a/active_shipping.gemspec +++ b/active_shipping.gemspec @@ -21,7 +21,7 @@ Gem::Specification.new do |s| s.add_dependency("measured", ">= 2.0") - s.add_dependency("activesupport", ">= 5.2", "< 6.1") + s.add_dependency("activesupport", ">= 5.2", "< 6.2") s.add_dependency("active_utils", "~> 3.3.1") s.add_dependency("nokogiri", ">= 1.6") diff --git a/gemfiles/rails-6.0.gemfile b/gemfiles/rails-6.0.gemfile new file mode 100644 index 000000000..2c12cdcef --- /dev/null +++ b/gemfiles/rails-6.0.gemfile @@ -0,0 +1,6 @@ +source "https://rubygems.org" + +gem 'activesupport', '~> 6.0.0' +gem 'i18n' + +gemspec path: '..' \ No newline at end of file diff --git a/gemfiles/rails-6.1.gemfile b/gemfiles/rails-6.1.gemfile new file mode 100644 index 000000000..ad0cff774 --- /dev/null +++ b/gemfiles/rails-6.1.gemfile @@ -0,0 +1,6 @@ +source "https://rubygems.org" + +gem 'activesupport', '~> 6.1.0' +gem 'i18n' + +gemspec path: '..' \ No newline at end of file From 6b2f18aad970f70fad89a857fb950df4ded68582 Mon Sep 17 00:00:00 2001 From: Massimiliano Lattanzio Date: Tue, 16 Jan 2024 10:15:47 +0100 Subject: [PATCH 5/6] Add Ruby 3 support --- .github/workflows/test.yml | 2 +- test/unit/carriers/usps_test.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8b4c5bfd4..532d726e6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,7 @@ jobs: strategy: fail-fast: false matrix: - ruby: [ '2.7' ] + ruby: [ '2.7', '3.0' ] rails: [ '5.2', '6.0', '6.1' ] env: BUNDLE_GEMFILE: gemfiles/rails-${{ matrix.rails }}.gemfile diff --git a/test/unit/carriers/usps_test.rb b/test/unit/carriers/usps_test.rb index 6855aa8cf..437cb0bf1 100644 --- a/test/unit/carriers/usps_test.rb +++ b/test/unit/carriers/usps_test.rb @@ -384,7 +384,7 @@ def test_package_valid_for_max_dimensions end def test_strip_9_digit_zip_codes - request = URI.decode(@carrier.send(:build_us_rate_request, package_fixtures[:book], "90210-1234", "123456789")) + request = CGI.unescape(@carrier.send(:build_us_rate_request, package_fixtures[:book], "90210-1234", "123456789")) assert !(request =~ /\>90210-1234\90210\123456789\90210-1234/, request assert_match /\90210/, request From f379a5df39437baa4e8e77e408771d60fc96dcda Mon Sep 17 00:00:00 2001 From: Massimiliano Lattanzio Date: Tue, 16 Jan 2024 10:30:14 +0100 Subject: [PATCH 6/6] Fix incompatibility with new minitest and mocha --- active_shipping.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/active_shipping.gemspec b/active_shipping.gemspec index aae03864f..9ead2444a 100644 --- a/active_shipping.gemspec +++ b/active_shipping.gemspec @@ -25,7 +25,7 @@ Gem::Specification.new do |s| s.add_dependency("active_utils", "~> 3.3.1") s.add_dependency("nokogiri", ">= 1.6") - s.add_development_dependency("minitest") + s.add_development_dependency("minitest", "~> 5.18.0") s.add_development_dependency("minitest-reporters") s.add_development_dependency("rake") s.add_development_dependency("mocha", "~> 1")