added github mirror
Some checks failed
Mirror main to GitHub (shallow) / mirror (push) Has been cancelled
Some checks failed
Mirror main to GitHub (shallow) / mirror (push) Has been cancelled
This commit is contained in:
56
.gitea/workflows/github_mirror.yaml
Normal file
56
.gitea/workflows/github_mirror.yaml
Normal 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
|
Reference in New Issue
Block a user