added github mirror
Some checks failed
Mirror main to GitHub (shallow) / mirror (push) Has been cancelled

This commit is contained in:
2025-08-16 13:38:12 +02:00
parent 11193677cf
commit db41996b95

View File

@@ -0,0 +1,56 @@
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: ubuntu-latest
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