Sync workflow: always open PR, report trial-merge status
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QKxGW1raAWaqeU8WdHsMsp
This commit is contained in:
@@ -36,11 +36,15 @@ jobs:
|
|||||||
echo "Sync branch $BR already exists, PR pending review"
|
echo "Sync branch $BR already exists, PR pending review"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
git checkout -b "$BR"
|
# Trial merge only to report conflict status in the PR body
|
||||||
# Merge conflicts fail the job loudly; resolution is manual by design
|
MERGE="clean"
|
||||||
git merge --no-edit "upstream/quattro"
|
if ! git merge --no-commit --no-ff "upstream/quattro" > /dev/null 2>&1; then
|
||||||
git push origin "$BR"
|
MERGE="CONFLICTS (resolve manually)"
|
||||||
|
fi
|
||||||
|
git merge --abort 2> /dev/null || true
|
||||||
|
# Branch points at upstream HEAD so the PR always gets created
|
||||||
|
git push origin "$UP:refs/heads/$BR"
|
||||||
curl -sS --fail-with-body -X POST \
|
curl -sS --fail-with-body -X POST \
|
||||||
-H "Authorization: token $TOKEN" -H "Content-Type: application/json" \
|
-H "Authorization: token $TOKEN" -H "Content-Type: application/json" \
|
||||||
"$API/repos/$REPO/pulls" \
|
"$API/repos/$REPO/pulls" \
|
||||||
-d "{\"base\":\"quattro\",\"head\":\"$BR\",\"title\":\"Sync upstream omarchy ${UP:0:8}\",\"body\":\"Automated sync of basecamp/omarchy quattro @ $UP. Review changes, run ./test/all, then merge.\"}"
|
-d "{\"base\":\"quattro\",\"head\":\"$BR\",\"title\":\"Sync upstream omarchy ${UP:0:8}\",\"body\":\"Automated sync of basecamp/omarchy quattro @ $UP. Trial merge: $MERGE. Review, run ./test/all, then merge.\"}"
|
||||||
|
|||||||
Reference in New Issue
Block a user