Add GitHub Actions CI workflow #173
Open
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.
It seems that the TravisCI is no longer running, so I propose introducing a GitHub Actions workflow to run CI.
ATM, some issues are causing RSpec to fail. These should be resolved once the other pull requests I submitted are merged.
Rack::Session::Cookie
in tests #171rack-session
#170URI.escape
withURI::DEFAULT_PARSER.escape
#169To stabilize CI runs, we changed the workflow to include
Gemfile.lock
in the Git repository. This helps avoid discrepancies between results when running locally versus in CI. While older Bundler templates typically did not include it, current templates do, making this approach generally considered the correct practice.For the Ruby versions used in CI, I’ve decided to test against all currently maintained versions — that is, those that are not EOL and not preview releases — at the minor version level.
Going forward, I plan to enable deprecation warnings (and possibly treat them as errors) so that any issues arising with newer Ruby versions can be detected early.
There is evidence that an elaborate setup existed to run tests for each minor version of Rails, but I’ve removed it for now. The targeted versions are now quite old, and considering the current pace of development in this project, such an extensive testing setup seems unnecessary. If there’s a need to test these versions in the future, it can be addressed then.
RSpec has a mechanism to automatically detect whether the execution environment supports colored output. However, the GitHub Actions environment is somewhat special, and this detection can be incorrect. Therefore, we added the
--force-color
option here.