name: Automatic sync with Gitlab's read-only mirror on: [workflow_dispatch, push] jobs: mirror: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up SSH key for Runner env: SSH_KEY: ${{ secrets.GITLAB_DEPLOY_KEY }} run: | mkdir -p ~/.ssh echo "$SSH_KEY" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts ssh-keyscan -t rsa gitlab.com >> ~/.ssh/known_hosts - name: Clone repository from GitHub as mirror and push to Gitlab env: REPO_ORIGINAL: "https://github.com/rehlds/metamod-r.git" REPO_TARGET: "git@gitlab.com:rehlds/metamod-r.git" run: | git clone --mirror "$REPO_ORIGINAL" repo-mirror cd repo-mirror git remote set-url origin "$REPO_TARGET" git push --mirror --force