Skip to content
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

Automate building new releases #254

Closed
eregon opened this issue Jan 3, 2022 · 2 comments
Closed

Automate building new releases #254

eregon opened this issue Jan 3, 2022 · 2 comments
Assignees

Comments

@eregon
Copy link
Member

eregon commented Jan 3, 2022

For CRuby we can use:
https://github.com/ruby/www.ruby-lang.org/blob/master/_data/releases.yml
For JRuby & TruffleRuby we could query GitHub releases.

Or maybe easier, since anyway we need it in ruby-build, we could check https://github.com/rbenv/ruby-build/tree/master/share/ruby-build / ruby-build -l / ruby-build --definitions

In both cases we'd need to build only the releases which are not already built.

This job would be a scheduled daily job on either setup-ruby or ruby-builder.
It would detect the new release(s) and for each commit and push to ruby-builder.
That would then build the new releases on all platforms (except Windows for CRuby).
On success that job could maybe also automatically create a PR to setup-ruby to add it.

Based on #240 (comment)

@eregon eregon self-assigned this Jan 23, 2022
@eregon
Copy link
Member Author

eregon commented Jan 23, 2022

There is a new workflow, https://github.com/ruby/ruby-builder/blob/master/.github/workflows/check-new-releases.yml
which automatically builds new releases as soon as they are in https://github.com/rbenv/ruby-build master.

Example commit created by that: ruby/ruby-builder@7215ba5
(It's a separate bot account for enhanced security, so it only has the necessary accesses).

@eregon
Copy link
Member Author

eregon commented Jan 23, 2022

All done now.

check-new-releases.yml checks daily if there are new releases known in ruby-build, if so, it pushes a commit to itself, which triggers another workflow which builds the release on all platforms and then automatically creates a PR to setup-ruby!

check-new-releases.yml can also be triggered manually (to not wait for the cron job), as well as the automated creation of the PR (for a given version).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant