- package.yml: correct Arch registry upload (octet-stream + binary body), drop --privileged, manual shell clone (archlinux image has no Node), built-in Actions token, --nocheck - mirror.yml: clone --mirror + explicit refs push with --prune Requires only the GITHUB_MIRROR_TOKEN secret for the mirror job.
21 lines
676 B
YAML
21 lines
676 B
YAML
name: Mirror to GitHub
|
|
|
|
on:
|
|
push:
|
|
branches: ['**']
|
|
tags: ['**']
|
|
|
|
jobs:
|
|
mirror:
|
|
runs-on: [self-hosted, hestia]
|
|
steps:
|
|
- name: Mirror to GitHub
|
|
run: |
|
|
set -euo pipefail
|
|
git clone --mirror "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git" repo.git
|
|
cd repo.git
|
|
# Mirror only branches and tags (not refs/pull/*, which GitHub rejects);
|
|
# --prune deletes GitHub refs that no longer exist on Forgejo.
|
|
git push --prune \
|
|
"https://x-access-token:${{ secrets.GITHUB_MIRROR_TOKEN }}@github.com/Breadway/bread.git" \
|
|
'+refs/heads/*:refs/heads/*' '+refs/tags/*:refs/tags/*'
|