ci: rebase with --autostash on the flasher push retry

A plain `git rebase` refuses to run when the checkout has unstaged changes, so
the retry path could fail instead of retrying. The beta workflow stages a scoped
subset on purpose (production's files must never ride along), which leaves the
rest of the checkout dirty and hits this exactly; keep all three flasher pushes
identical so it cannot resurface here either. Unstaged content stays unstaged,
so nothing extra gets published.
This commit is contained in:
agessaman
2026-07-24 20:04:31 -07:00
parent 5313aa01b1
commit 7ea93a640e
2 changed files with 6 additions and 2 deletions
@@ -320,7 +320,9 @@ jobs:
fi
echo "push rejected (attempt $attempt); rebasing onto origin/$br"
git fetch origin "$br"
git rebase "origin/$br" || {
# --autostash so a dirty tree can never make the rebase refuse to run;
# nothing unstaged gets published either way.
git rebase --autostash "origin/$br" || {
git rebase --abort || true
echo "::error::flasher rebase conflicted; re-run this workflow to republish"
exit 1
+3 -1
View File
@@ -86,7 +86,9 @@ jobs:
fi
echo "push rejected (attempt $attempt); rebasing onto origin/$br"
git fetch origin "$br"
git rebase "origin/$br" || {
# --autostash so a dirty tree can never make the rebase refuse to run;
# nothing unstaged gets published either way.
git rebase --autostash "origin/$br" || {
git rebase --abort || true
echo "::error::flasher rebase conflicted; re-run this workflow to resync"
exit 1