Forgejo Github Mirror
One workflow, @dataverket/mirror-forgejo-to-github, that mirrors every repository of a Forgejo org to a GitHub org and keeps it that way.
Each run lists the org's repositories, creates the missing ones on GitHub (empty, same name and visibility), gives each a Forgejo push mirror that pushes on every commit and on an interval, points GitHub's default branch at the forge's, and fails when a mirror reports a push error. It never deletes anything on GitHub. Only repositories this run saw take part, so a repository deleted or renamed on the forge is not recreated from an old record; empty, archived, forked and pull-mirror repositories are skipped; and a private repository is never mirrored into a GitHub repository that is not private.
The forge, both orgs and both tokens are inputs. A token is named by vault and key, never passed as a value, because workflow inputs are recorded in cleartext in the run history. Built on @dataverket/forgejo and @dataverket/github, both dependencies.
Mirror every repository of one Forgejo org to one GitHub org. The forge, both orgs and the vault keys of both tokens are required inputs; the GitHub endpoints default to github.com. Tokens are named by vault and key, never passed as values: input values are recorded in cleartext in the run history. Discovers the org's repositories, ensures each exists under the GitHub org (created empty, same name and visibility), then ensures a Forgejo push mirror (push on every commit plus an interval) that ca
- Has README or module doc2/2earned
- README has a code example1/1earned
- README is substantive1/1earned
- Most symbols documented1/1earned
- No slow types (deprecated)1/1earned
- Dependencies pass trust audit2/2earned
- Has description1/1earned
- Platform support declared (or universal)2/2earned
- License declared1/1earned
- Verified public repository2/2earned