This PR makes squashing olds commits in the docs-cleanup CI job more robust: it makes sure that the squash commit has a proper commit date and that we gracefully handle if there is nothing to squash.
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
run: |
cd target
- git log
first=`git rev-list --max-parents=0 HEAD`
last=`git rev-list --until=1.month.ago -n1 HEAD`
if [ -n "$last" ]; then
git checkout $last
+ ts=`git log -1 --format=%ct`
git reset --soft $first
- git commit -m "Squash old history"
+ if git diff --cached --exit-code
+ then
+ echo "Nothing to squash"
+ else
+ git commit -m "Squash old history" --date=$ts
+ fi
git cherry-pick $last..main
- git log
fi
- name: Push