fix sync #887
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: [push, delete] | |
jobs: | |
push: | |
runs-on: ubuntu-latest | |
if: github.repository == 'ibhagwan/fzf-lua' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Sync remote repositories | |
run: | | |
mkdir -p ~/.ssh | |
echo "${{ secrets.GIT_SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa | |
chmod 600 ~/.ssh/id_rsa | |
# Ignore hosts keys, since we accept them as-is | |
git config --global core.sshCommand 'ssh -i ~/.ssh/id_rsa -o IdentitiesOnly=yes -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' | |
# Codeberg | |
git remote add codeberg ssh://[email protected]/ibhagwan/fzf-lua.git | |
git push --tags --force --prune codeberg 'refs/remotes/origin/*:refs/heads/*' | |
# GitLab | |
# NOTE: pushing refs fails with: | |
# remote: GitLab: You cannot create a branch with an invalid name. | |
# To ssh://gitlab.com/ibhagwan/fzf-lua.git | |
# ! [remote rejected] origin/HEAD -> HEAD (pre-receive hook declined) | |
# ! [remote rejected] origin/dev -> dev (pre-receive hook declined) | |
git remote add gitlab ssh://[email protected]/ibhagwan/fzf-lua.git | |
# NOTE: `--all` syncs local branches only | |
# create tracking braches for all remote branches | |
for branch in $(git branch --all | grep '^\s*remotes' | grep -vP 'HEAD'); do | |
git rev-parse --verify "${branch##*/}" 1>/dev/null 2>&1 || \ | |
git branch --track "${branch##*/}" "$branch" | |
done | |
git push --force --prune gitlab --all | |
git push --force gitlab --tags |