Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

codeberg-mirrors

Control repo that keeps GitHub mirrors of Codeberg-hosted Composer dependencies in sync, so owncloud CI never has to clone from codeberg.org (which intermittently returns HTTP 503) during composer install.

Why

owncloud/core's composer.lock pins two packages whose canonical home is Codeberg, and Packagist lists no dist archive for them — so Composer is forced to git clone from codeberg.org. When Codeberg is down, every downstream CI job that builds core (guests, and other apps) fails.

These packages are mirrored to GitHub, where Composer can fetch a dist zipball via the API and never touches Codeberg at install time:

Package Upstream (canonical) GitHub mirror
icewind/streams https://codeberg.org/icewind/streams https://github.com/DeepDiver1975/streams
icewind/smb https://codeberg.org/icewind/SMB https://github.com/DeepDiver1975/SMB

How

mirror-sync.yml runs weekly (and on workflow_dispatch). For each package it git clone --mirrors the Codeberg repo and git push --mirrors it into the GitHub mirror, keeping branches and tags an exact copy of upstream.

The workflow lives here, in a dedicated control repo, rather than inside the mirror repos: git push --mirror makes the target an exact copy of the source, so a workflow stored in a mirror would delete itself on the first run.

Required secret

MIRROR_PAT — a fine-grained personal access token with Contents: read and write on DeepDiver1975/streams and DeepDiver1975/SMB. The built-in GITHUB_TOKEN cannot be used because it only grants access to this control repo.

About

Weekly sync of Codeberg-hosted composer deps into GitHub mirrors (icewind/streams, icewind/SMB)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors