Some checks failed
Mirror main to GitHub (shallow) / mirror (push) Failing after 7s
57 lines
1.8 KiB
YAML
57 lines
1.8 KiB
YAML
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
|