name: Mirror to Gitee Repo on: [ push, delete, create ] jobs: git-mirror: if: github.repository == 'hyperf/hyperf' runs-on: ubuntu-latest steps: - name: Configure Private Key env: SSH_PRIVATE_KEY: ${{ secrets.GITEE_PRIVATE_KEY }} run: | mkdir -p ~/.ssh echo "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa echo "StrictHostKeyChecking no" >> ~/.ssh/config - name: Push Mirror if: github.repository_owner == 'hyperf' env: SOURCE_REPO: 'https://github.com/hyperf/hyperf.git' DESTINATION_REPO: 'git@gitee.com:hyperf/hyperf.git' run: | git clone --mirror "$SOURCE_REPO" && cd `basename "$SOURCE_REPO"` git remote set-url --push origin "$DESTINATION_REPO" git fetch -p origin git for-each-ref --format 'delete %(refname)' refs/pull | git update-ref --stdin git push --mirror