-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Merge CI for development branches into ruby-core CI #9260
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request consolidates the daily CI workflows (daily-rubygems.yml and daily-bundler.yml) into the main ruby-core.yml workflow to improve maintainability. The daily workflows were running on a schedule but weren't being actively monitored by maintainers.
Changes:
- Modified
ruby-core.ymlto test against multiple Ruby branches (ruby_3_3, ruby_3_4, ruby_4_0, master) instead of a single hardcoded version - Removed
daily-rubygems.ymlwhich tested RubyGems against ruby-head, truffleruby-head, and mswin - Removed
daily-bundler.ymlwhich tested Bundler against ruby-head
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| .github/workflows/ruby-core.yml | Added matrix branch testing to test both RubyGems and Bundler against multiple Ruby versions |
| .github/workflows/daily-rubygems.yml | Removed scheduled daily testing workflow for RubyGems |
| .github/workflows/daily-bundler.yml | Removed scheduled daily testing workflow for Bundler |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
.github/workflows/ruby-core.yml
Outdated
| fail-fast: false | ||
| matrix: | ||
| target: [Rubygems, Bundler] | ||
| branch: [ruby_3_3, ruby_3_4, ruby_4_0, master] # Test against stable and development branches |
Copilot
AI
Jan 22, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The branch name 'ruby_4_0' may not exist in the ruby/ruby repository. Ruby version branches typically follow the pattern 'ruby_X_Y' for stable releases, but Ruby 4.0 is a future version that may not have a corresponding branch yet. Verify that this branch exists and is intended to be tested, or remove it from the matrix if it doesn't exist.
| branch: [ruby_3_3, ruby_3_4, ruby_4_0, master] # Test against stable and development branches | |
| branch: [ruby_3_3, ruby_3_4, master] # Test against stable and development branches |
| steps: | ||
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | ||
| with: | ||
| repository: ruby/ruby | ||
| path: ruby/ruby | ||
| ref: v3_4_5 | ||
| ref: ${{ matrix.branch }} |
Copilot
AI
Jan 22, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The removed daily workflows included Slack notifications (using the 8398a7/action-slack action) that would alert the team when a previously passing build started failing. This notification mechanism has been lost in the consolidation, which may result in failures going unnoticed. Consider adding similar notification logic to the ruby-core workflow or ensuring there's an alternative monitoring mechanism in place.
.github/workflows/ruby-core.yml
Outdated
| fail-fast: false | ||
| matrix: | ||
| target: [Rubygems, Bundler] | ||
| branch: [ruby_3_3, ruby_3_4, ruby_4_0, master] # Test against stable and development branches |
Copilot
AI
Jan 22, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding 4 branches to the matrix multiplies the number of CI jobs by 4 (from 2 jobs to 8 jobs: 2 targets × 4 branches). Since ruby-core.yml runs on every pull request and push to master (unlike the daily workflows which ran once per day), this will significantly increase CI resource usage and may cause longer wait times for CI results. Consider whether all branches need to be tested on every commit, or if some branches could be tested less frequently (e.g., on a schedule or only on master branch pushes).
| repository: ruby/ruby | ||
| path: ruby/ruby | ||
| ref: v3_4_5 | ||
| ref: ${{ matrix.branch }} |
Copilot
AI
Jan 22, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The previous hardcoded ref was 'v3_4_5' (a specific release tag), but the new matrix uses branch names like 'ruby_3_4'. This changes the testing behavior from testing against a specific stable release to testing against the tip of a branch. While this may be intentional for development testing, ensure this is the desired behavior. Additionally, 'v3_4_5' appears to be a tag format while the matrix uses branch names, so verify that these branch names exist in the ruby/ruby repository.
.github/workflows/ruby-core.yml
Outdated
| fail-fast: false | ||
| matrix: | ||
| target: [Rubygems, Bundler] | ||
| branch: [ruby_3_3, ruby_3_4, ruby_4_0, master] # Test against stable and development branches |
Copilot
AI
Jan 22, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The removed daily workflows tested against 'ruby-head', 'truffleruby-head', and 'mswin', but these are not included in the new branch matrix. The branch matrix only includes stable branches (ruby_3_3, ruby_3_4, ruby_4_0, master), which means development versions like ruby-head and alternative implementations like truffleruby-head are no longer being tested. Consider adding these to maintain the test coverage that was provided by the daily workflows.
No one confirm
daily-bundler.ymlanddaily-rubygems.ymlby the current maintainers. We should merge them into default CI for each commits.If we found some failure caused by ruby/ruby side, we can fix it at ruby/ruby repo now.