Project

General

Profile

Actions

Misc #21628

closed

Sync default gems to ruby/ruby with GitHub Actions

Added by k0kubun (Takashi Kokubun) 1 day ago. Updated about 22 hours ago.

Status:
Closed
Assignee:
-
[ruby-core:<unknown>]

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:

  1. [Optional] Remove https://git.ruby-lang.org/webhook from Settings > Webhooks if it's currently set.
  2. 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.
  3. Add this GitHub Actions workflow .github/workflows/sync-ruby.yml to the repository.
    • Change on.push.branches from master to main if the default branch is main.
Actions #1

Updated by k0kubun (Takashi Kokubun) 1 day ago

  • Description updated (diff)
Actions #2

Updated by k0kubun (Takashi Kokubun) 1 day ago

  • Description updated (diff)
Actions #3

Updated by k0kubun (Takashi Kokubun) 1 day 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.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0