Feature request: mirror releases from Gitea and Forgejo sources (Codeberg) #177

Closed
opened 2026-10-05 01:45:58 +02:00 by adam · 2 comments
Owner

It seems that it is not possible to mirror codeberg repo releases. The logs skip them for some reason while it shoule mirror releases as per global or custom settings. I tried 2 different repos, both are not getting releases mirrored or synced. Example log:

Image
It seems that it is not possible to mirror codeberg repo releases. The logs skip them for some reason while it shoule mirror releases as per global or custom settings. I tried 2 different repos, both are not getting releases mirrored or synced. Example log: <img width="1080" height="782" alt="Image" src="https://github.com/user-attachments/assets/9d70682a-ca13-4017-bc43-d381ee5515f9" /> <!-- github-sync-id:5541492631 -->
adam closed this issue 2026-10-05 01:45:58 +02:00
Author
Owner

Thanks for the report and the log. This is not a bug in the sync, it is a missing feature: release mirroring (like issues and pull requests) is only implemented for GitHub sources. That is why the log prints mirrorReleases=false even with the option turned on, the GitHub-only flags are forced off for Gitea and Forgejo sources, and the GitHub mirror settings note "Issues, pull requests and releases are mirrored for GitHub sources only". Codeberg is a Forgejo instance, so it goes through the Gitea source provider, which today reads the repository list and clones the code but does not read releases.

Adding release mirroring for Gitea and Forgejo sources is doable, both expose releases and release assets through their API, and the destination side already handles releases and assets. I am turning this into a feature request and keeping it open; no timeline yet. For now, Codeberg repositories mirror their code, branches and tags, and releases would have to be recreated by hand on the destination.

Thanks for the report and the log. This is not a bug in the sync, it is a missing feature: release mirroring (like issues and pull requests) is only implemented for GitHub sources. That is why the log prints `mirrorReleases=false` even with the option turned on, the GitHub-only flags are forced off for Gitea and Forgejo sources, and the GitHub mirror settings note "Issues, pull requests and releases are mirrored for GitHub sources only". Codeberg is a Forgejo instance, so it goes through the Gitea source provider, which today reads the repository list and clones the code but does not read releases. Adding release mirroring for Gitea and Forgejo sources is doable, both expose releases and release assets through their API, and the destination side already handles releases and assets. I am turning this into a feature request and keeping it open; no timeline yet. For now, Codeberg repositories mirror their code, branches and tags, and releases would have to be recreated by hand on the destination. <!-- github-comment-id:5780603445 -->
Author
Owner

Shipped in v3.38.0 (#446). Releases now mirror from Gitea and Forgejo sources, Codeberg included. The mirror reads the releases from the source instance's own API, creates or updates them on the destination with the same release limit, asset limit and retention rules as GitHub releases, and downloads the assets with the source's token (public repositories need none).

After updating, turn on Mirror releases in the mirror settings if it is off (the switch is no longer disabled for Gitea and Forgejo sources) and run a sync on the repository. Releases whose git tag has not reached the destination yet are picked up on the next sync. Issues and pull requests still need a GitHub source.

Shipped in v3.38.0 (#446). Releases now mirror from Gitea and Forgejo sources, Codeberg included. The mirror reads the releases from the source instance's own API, creates or updates them on the destination with the same release limit, asset limit and retention rules as GitHub releases, and downloads the assets with the source's token (public repositories need none). After updating, turn on Mirror releases in the mirror settings if it is off (the switch is no longer disabled for Gitea and Forgejo sources) and run a sync on the repository. Releases whose git tag has not reached the destination yet are picked up on the next sync. Issues and pull requests still need a GitHub source. <!-- github-comment-id:5782683011 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/gitea-mirror#177