BitDHT/.github/workflows/mirror-to-gitlab.yml
Gio d1af0a357a Fix GitLab mirror failing on GitHub PR refs
The mirror workflow cloned with --mirror and pushed all refs, including GitHub's refs/pull/*, which GitLab rejects as hidden refs, failing the whole push. Clone --bare and push only refs/heads/* and refs/tags/* with --prune, keeping deletion sync while never touching PR refs.
2026-07-23 18:34:13 +02:00

31 lines
771 B
YAML

name: Mirror to GitLab
on:
push:
branches:
- '**'
tags:
- '**'
workflow_dispatch:
jobs:
mirror:
runs-on: ubuntu-latest
steps:
- name: Install GitLab deploy key
uses: webfactory/ssh-agent@v0.9.0
with:
ssh-private-key: ${{ secrets.RETROSHARE_GITLAB_MIRROR_SSH_KEY }}
- name: Trust GitLab host key
run: |
ssh-keyscan gitlab.com >> ~/.ssh/known_hosts
- name: Mirror repository to GitLab
run: |
git clone --bare "https://github.com/${GITHUB_REPOSITORY}.git" repo.git
cd repo.git
git remote set-url --push origin git@gitlab.com:RetroShare/BitDHT.git
git push --prune origin 'refs/heads/*:refs/heads/*' 'refs/tags/*:refs/tags/*'