[CI/CD] A more resilient github-mirror script.

- Fail immediately if no branches are checked out.

- Rebase only if we're pushing on master (don't bother for feature
  branches).

- Do a push force to Github.
This commit is contained in:
Fabio Manganiello 2024-09-02 02:31:11 +02:00
parent c5c872eb68
commit e39e36e5f6
Signed by untrusted user: blacklight
GPG key ID: D90FBA7F76362774

View file

@ -6,9 +6,18 @@
ssh-keyscan github.com >> ~/.ssh/known_hosts 2>/dev/null ssh-keyscan github.com >> ~/.ssh/known_hosts 2>/dev/null
# Clone the repository # Clone the repository
branch=$(git rev-parse --abbrev-ref HEAD)
if [ -z "${branch}" ]; then
echo "No branch checked out"
exit 1
fi
git remote add github git@github.com:/blacklight/platypush.git git remote add github git@github.com:/blacklight/platypush.git
git pull --rebase github "$(git branch | head -1 | awk '{print $2}')" || echo "No such branch on Github"
if (( "$branch" == "master" )); then
git pull --rebase github "${branch}" || echo "No such branch on Github"
fi
# Push the changes to the GitHub mirror # Push the changes to the GitHub mirror
git push --all -v github git push -f --all -v github
git push --tags -v github git push --tags -v github