cloudflare/cloudflared
Publicmirrored from https://github.com/cloudflare/cloudflaredAvailable
.ci/scripts/github-push.sh
31lines · modeblame
71448c1fJoão "Pisco" Fernandes9 months ago | 1 | #!/bin/bash |
b4f675c0João "Pisco" Fernandes5 months ago | 2 | set -e -u -o pipefail |
71448c1fJoão "Pisco" Fernandes9 months ago | 3 | |
| 4 | BRANCH="master" | |
| 5 | TMP_PATH="$PWD/tmp" | |
| 6 | PRIVATE_KEY_PATH="$TMP_PATH/github-deploy-key" | |
| 7 | PUBLIC_KEY_GITHUB_PATH="$TMP_PATH/github.pub" | |
| 8 | | |
| 9 | mkdir -p $TMP_PATH | |
| 10 | | |
| 11 | # Setup Private Key | |
| 12 | echo "$CLOUDFLARED_DEPLOY_SSH_KEY" > $PRIVATE_KEY_PATH | |
| 13 | chmod 400 $PRIVATE_KEY_PATH | |
| 14 | | |
| 15 | # Download GitHub Public Key for KnownHostsFile | |
| 16 | ssh-keyscan -t ed25519 github.com > $PUBLIC_KEY_GITHUB_PATH | |
| 17 | | |
| 18 | # Setup git ssh command with the right configurations | |
| 19 | export GIT_SSH_COMMAND="ssh -o UserKnownHostsFile=$PUBLIC_KEY_GITHUB_PATH -o IdentitiesOnly=yes -i $PRIVATE_KEY_PATH" | |
| 20 | | |
| 21 | # Add GitHub as a new remote | |
| 22 | git remote add github git@github.com:cloudflare/cloudflared.git || true | |
| 23 | | |
| 24 | # GitLab doesn't pull branch references, instead it creates a new one on each pipeline. | |
| 25 | # Therefore, we need to manually fetch the reference to then push it to GitHub. | |
| 26 | git fetch origin $BRANCH:$BRANCH | |
| 27 | git push -u github $BRANCH | |
| 28 | | |
| 29 | if TAG="$(git describe --tags --exact-match 2>/dev/null)"; then | |
| 30 | git push -u github "$TAG" | |
| 31 | fi |