Conversation
Run the koans on all rubies supported by the setup-ruby GitHub action. Also bump the version used for "checks" to 4.0 and update the version of the checkout action.
However, don't dump a stacktrace as a result in the src/koan Rakefile. Finally, make sure syntax errors that occur during parsing still get surfaced even if the sensei doesn't report "failed". Non-zero exit status on incomplete path Slight change to exitcode Change sensei reporting location
* The version of Gubygems that ships with 1.9 tries to mutate the version string passed into its constructor * Ruby 2.0 didn't have manditory keyword arguments (which half the Koan is about) * Ruby 2.1-2.6 didn't have a colon in the "missing keyword" ArgumentError * egrep is deprecated * Remove unused exception capture to silence warning
- Every PR - Pushes to main/master (keeping in mind edgecase#49) - Monthly
werebus
commented
Sep 20, 2026
|
|
||
| def before_ruby_version(version) | ||
| Gem::Version.new(RUBY_VERSION) < Gem::Version.new(version) | ||
| Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new(version) |
Author
There was a problem hiding this comment.
The version of Rubygems that ships with Ruby 1.9.3 tries to mutate the string passed into Gem::Version.new, and RUBY_VERSION is frozen.
| require 'about_hashes' | ||
| require 'about_methods' | ||
| in_ruby_version("2", "3", "4") do | ||
| in_ruby_version("2.[1-7]", "3", "4") do |
Author
There was a problem hiding this comment.
Ruby 2.0 has keyword arguments, but not required keyword arguments (which is about half the tests in this file).
| method_with_mandatory_keyword_arguments | ||
| end | ||
| assert_match(/#{__("missing keyword: :one")}/, exception.message) | ||
| assert_match(/#{__("missing keyword: :?one")}/, exception.message) |
Author
There was a problem hiding this comment.
Ruby 2.1-2.6 don't have the : in the message.
| - master | ||
| - main | ||
| schedule: | ||
| - cron: '0 9 1 * *' |
Author
There was a problem hiding this comment.
Monthly seems OK for a scheduled run. Let me know if something else makes more sense.
Comment on lines
+6
to
+7
| - master | ||
| - main |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I opted for a very long list of Rubies given that (pending #47) there's support in the Koans for some pretty old versions. The
ruby/setup-rubyaction supports everything since 1.9.3, so I just did that.In order for the runs to be meaningful, I modified the Koans to exit with a non-zero exit code when the path isn't completed.
In the process, I actually did find a few small failures on old versions of Ruby (one on 1.9, one on 2.0, one on 2.1-2.6) and fixed those.
Closes #33