Files
Subscribarr/.gitea/workflows/github_mirror.yaml
jschaufuss 1727544471
Some checks failed
Mirror main to GitHub (shallow) / mirror (push) Failing after 7s
update action
2025-08-16 13:40:28 +02:00

57 lines
1.8 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

name: Mirror main to GitHub (shallow)
on:
push:
branches: ["main"] # nur main triggern
workflow_dispatch: # manuell startbar
concurrency:
group: mirror-main-to-github
cancel-in-progress: false
jobs:
mirror:
runs-on: main
steps:
- name: Checkout (shallow, no history)
uses: actions/checkout@v4
with:
fetch-depth: 1 # <— wichtig: keine alte Historie
lfs: true # falls LFS-Dateien im aktuellen Commit liegen
- name: Install git-lfs
run: |
sudo apt-get update
sudo apt-get install -y git-lfs
git lfs install
- name: Add GitHub remote
env:
GH_USER: ${{ secrets.GH_USER }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
GH_OWNER: ${{ secrets.GH_OWNER }}
GH_REPO: ${{ secrets.GH_REPO }}
run: |
set -euo pipefail
: "${GH_USER?missing}"; : "${GH_TOKEN?missing}"; : "${GH_OWNER?missing}"; : "${GH_REPO?missing}"
git remote remove mirror 2>/dev/null || true
git remote add mirror "https://${GH_USER}:${GH_TOKEN}@github.com/${GH_OWNER}/${GH_REPO}.git"
- name: Push main branch (shallow)
run: |
# force ist i. d. R. nicht nötig; nur, wenn du auf GitHub main überschreiben willst
git push mirror HEAD:refs/heads/main
- name: Push LFS objects for current commit
env:
GH_USER: ${{ secrets.GH_USER }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
GH_OWNER: ${{ secrets.GH_OWNER }}
GH_REPO: ${{ secrets.GH_REPO }}
run: |
set -euo pipefail
REMOTE="https://${GH_USER}:${GH_TOKEN}@github.com/${GH_OWNER}/${GH_REPO}.git"
# Nur Objekte, die lokal vorhanden sind (durch lfs: true) somit kein Altbestand
git lfs push "$REMOTE" --all