Misc #21628
closedSync default gems to ruby/ruby with GitHub Actions
Description
Announcement¶
We will change the way default gems are synchronized to ruby/ruby.
- Before: Push to gem repository → webhook.cgi → git.ruby-lang.org pushes to ruby/ruby
- After: Push to gem repository → GitHub Actions on gem repository → GitHub Actions on ruby/ruby pushes to ruby/ruby
Background¶
- The apache2 server for https://git.ruby-lang.org has been taken down because it has been under DDoS attacks and we couldn't handle it. As a result, its webhook.cgi is no longer online.
- It was hard for default gem maintainers to notice sync failures, look at their logs, and fix them.
- Moving the implementation to GitHub Actions would make them more visible and accessible for the maintainers.
Operations¶
To set up sync from ruby/xxx to ruby/ruby, you need to do the following operations:
- [Optional] Remove
https://git.ruby-lang.org/webhook
from Settings > Webhooks if it's currently set. - On Settings > Secrets and variables > Actions > Organization secrets, make sure the repository has access to
RUBY_SYNC_DEFAULT_GEMS_PRIVATE_KEY
- Consult @hsbt (Hiroshi SHIBATA) if it's not visible for the repository. "ruby-sync-default-gems GitHub App Private Key" is managed under the "Ruby core team" 1Password vault.
- Add this GitHub Actions workflow .github/workflows/sync-ruby.yml to the repository.
- Change
on.push.branches
frommaster
tomain
if the default branch ismain
.
- Change
Updated by k0kubun (Takashi Kokubun) about 24 hours ago
- Description updated (diff)
Updated by k0kubun (Takashi Kokubun) about 24 hours ago
- Status changed from Open to Closed
I've filed and merged the following PRs to migrate them.
https://github.com/ruby/English/pull/10
https://github.com/ruby/cgi/pull/84
https://github.com/ruby/date/pull/143
https://github.com/ruby/delegate/pull/42
https://github.com/ruby/did_you_mean/pull/199
https://github.com/ruby/digest/pull/96
https://github.com/ruby/erb/pull/86
https://github.com/ruby/error_highlight/pull/63
https://github.com/ruby/etc/pull/67
https://github.com/ruby/fcntl/pull/32
https://github.com/ruby/fileutils/pull/143
https://github.com/ruby/find/pull/20
https://github.com/ruby/forwardable/pull/37
https://github.com/ruby/io-nonblock/pull/27
https://github.com/ruby/io-wait/pull/40
https://github.com/ruby/ipaddr/pull/88
https://github.com/ruby/json/pull/872
https://github.com/ruby/mmtk/pull/43
https://github.com/ruby/net-http/pull/230
https://github.com/ruby/open-uri/pull/57
https://github.com/ruby/open3/pull/28
https://github.com/ruby/openssl/pull/951
https://github.com/ruby/optparse/pull/110
https://github.com/ruby/pp/pull/62
https://github.com/ruby/prettyprint/pull/16
https://github.com/ruby/prism/pull/3673
https://github.com/ruby/psych/pull/746
https://github.com/ruby/resolv/pull/102
https://github.com/ruby/securerandom/pull/50
https://github.com/ruby/shellwords/pull/28
https://github.com/ruby/singleton/pull/29
https://github.com/ruby/stringio/pull/143
https://github.com/ruby/strscan/pull/163
https://github.com/ruby/tempfile/pull/52
https://github.com/ruby/time/pull/38
https://github.com/ruby/timeout/pull/69
https://github.com/ruby/tmpdir/pull/56
https://github.com/ruby/tsort/pull/13
https://github.com/ruby/un/pull/9
https://github.com/ruby/weakref/pull/29
https://github.com/ruby/win32-registry/pull/13
https://github.com/ruby/yaml/pull/62
https://github.com/ruby/zlib/pull/107
I didn't have admin permission (to remove the webhook) on net-protocol
, rubygems
, and syntax_suggest
, so I'll ask @hsbt (Hiroshi SHIBATA) to migrate them.