Skip to content

CI: Run specs on Ruby 3.1 and 3.2 and 3.0 by default

Peter Leitzen requested to merge pl-ci-ruby-versions into main

Description

With this MR we run more Ruby version in CI:

  • MRI 3.1 + 3.2
  • JRuby latest
  • TruffleRuby latest

Other Ruby related jobs are now run in MRI 3.0 (gitlab-org/gitlab's default).

To allow docker images without git to run specs we replace the use of git with Dir.glob. With this we are now packaging less Ruby files in a single gem file.

Diff/Before/After

Verified via:

  • On main run rake build && gem unpack pkg/declarative_policy-1.1.0.gem --target before
  • On this branch run rake build && gem unpack pkg/declarative_policy-1.1.0.gem --target after
  • cd before && find declarative_policy-1.1.0/ > ../before.txt
  • cd after && find declarative_policy-1.1.0/ > ../after.txt
  • diff -u before.txt after.txt

Diff

--- before.txt	2023-03-16 11:42:04.016581657 +0100
+++ after.txt	2023-03-16 11:42:00.392629085 +0100
@@ -1,10 +1,7 @@
 declarative_policy-1.1.0/
 declarative_policy-1.1.0/CODE_OF_CONDUCT.md
 declarative_policy-1.1.0/CHANGELOG.md
-declarative_policy-1.1.0/Gemfile
 declarative_policy-1.1.0/README.md
-declarative_policy-1.1.0/.rspec
-declarative_policy-1.1.0/.gitignore
 declarative_policy-1.1.0/CONTRIBUTING.md
 declarative_policy-1.1.0/doc
 declarative_policy-1.1.0/doc/optimization.md
@@ -27,11 +24,5 @@
 declarative_policy-1.1.0/lib/declarative_policy/configuration.rb
 declarative_policy-1.1.0/lib/declarative_policy/step.rb
 declarative_policy-1.1.0/lib/declarative_policy/policy_dsl.rb
-declarative_policy-1.1.0/.rubocop.yml
-declarative_policy-1.1.0/Dangerfile
-declarative_policy-1.1.0/Rakefile
-declarative_policy-1.1.0/.gitlab-ci.yml
 declarative_policy-1.1.0/LICENSE.txt
 declarative_policy-1.1.0/declarative_policy.gemspec
-declarative_policy-1.1.0/benchmarks
-declarative_policy-1.1.0/benchmarks/repeated_invocation.rb

Before

declarative_policy-1.1.0/
declarative_policy-1.1.0/CODE_OF_CONDUCT.md
declarative_policy-1.1.0/CHANGELOG.md
declarative_policy-1.1.0/Gemfile
declarative_policy-1.1.0/README.md
declarative_policy-1.1.0/.rspec
declarative_policy-1.1.0/.gitignore
declarative_policy-1.1.0/CONTRIBUTING.md
declarative_policy-1.1.0/doc
declarative_policy-1.1.0/doc/optimization.md
declarative_policy-1.1.0/doc/caching.md
declarative_policy-1.1.0/doc/configuration.md
declarative_policy-1.1.0/doc/defining-policies.md
declarative_policy-1.1.0/lib
declarative_policy-1.1.0/lib/declarative_policy.rb
declarative_policy-1.1.0/lib/declarative_policy
declarative_policy-1.1.0/lib/declarative_policy/delegate_dsl.rb
declarative_policy-1.1.0/lib/declarative_policy/runner.rb
declarative_policy-1.1.0/lib/declarative_policy/cache.rb
declarative_policy-1.1.0/lib/declarative_policy/condition.rb
declarative_policy-1.1.0/lib/declarative_policy/base.rb
declarative_policy-1.1.0/lib/declarative_policy/preferred_scope.rb
declarative_policy-1.1.0/lib/declarative_policy/rule_dsl.rb
declarative_policy-1.1.0/lib/declarative_policy/nil_policy.rb
declarative_policy-1.1.0/lib/declarative_policy/rule.rb
declarative_policy-1.1.0/lib/declarative_policy/version.rb
declarative_policy-1.1.0/lib/declarative_policy/configuration.rb
declarative_policy-1.1.0/lib/declarative_policy/step.rb
declarative_policy-1.1.0/lib/declarative_policy/policy_dsl.rb
declarative_policy-1.1.0/.rubocop.yml
declarative_policy-1.1.0/Dangerfile
declarative_policy-1.1.0/Rakefile
declarative_policy-1.1.0/.gitlab-ci.yml
declarative_policy-1.1.0/LICENSE.txt
declarative_policy-1.1.0/declarative_policy.gemspec
declarative_policy-1.1.0/benchmarks
declarative_policy-1.1.0/benchmarks/repeated_invocation.rb

After

declarative_policy-1.1.0/
declarative_policy-1.1.0/CODE_OF_CONDUCT.md
declarative_policy-1.1.0/CHANGELOG.md
declarative_policy-1.1.0/README.md
declarative_policy-1.1.0/CONTRIBUTING.md
declarative_policy-1.1.0/doc
declarative_policy-1.1.0/doc/optimization.md
declarative_policy-1.1.0/doc/caching.md
declarative_policy-1.1.0/doc/configuration.md
declarative_policy-1.1.0/doc/defining-policies.md
declarative_policy-1.1.0/lib
declarative_policy-1.1.0/lib/declarative_policy.rb
declarative_policy-1.1.0/lib/declarative_policy
declarative_policy-1.1.0/lib/declarative_policy/delegate_dsl.rb
declarative_policy-1.1.0/lib/declarative_policy/runner.rb
declarative_policy-1.1.0/lib/declarative_policy/cache.rb
declarative_policy-1.1.0/lib/declarative_policy/condition.rb
declarative_policy-1.1.0/lib/declarative_policy/base.rb
declarative_policy-1.1.0/lib/declarative_policy/preferred_scope.rb
declarative_policy-1.1.0/lib/declarative_policy/rule_dsl.rb
declarative_policy-1.1.0/lib/declarative_policy/nil_policy.rb
declarative_policy-1.1.0/lib/declarative_policy/rule.rb
declarative_policy-1.1.0/lib/declarative_policy/version.rb
declarative_policy-1.1.0/lib/declarative_policy/configuration.rb
declarative_policy-1.1.0/lib/declarative_policy/step.rb
declarative_policy-1.1.0/lib/declarative_policy/policy_dsl.rb
declarative_policy-1.1.0/LICENSE.txt
declarative_policy-1.1.0/declarative_policy.gemspec

Related Issues

n/a

Suggested version bump

  • Major (backwards incompatible changes)
  • Minor (backwards compatible changes)
  • Patch (API compatible changes)

Checklist

  • Tests have been added or updated to cover any changes in behavior
  • This does not change the API to consume this library, or a suggested version bump has been provided
  • [-] The CHANGELOG.md has been updated
  • No new runtime dependencies have been introduced
Edited by Peter Leitzen

Merge request reports

Loading