From f02d60d568fa18a74932eb9a6e8d71033e0d6bad Mon Sep 17 00:00:00 2001 From: jcotillo Date: Sun, 1 Nov 2026 13:01:21 -0500 Subject: [PATCH] ci(sync): open consumer sync PRs as drafts [TURNWRK-793] Every consumer's ci.yml skips draft PRs and runs on ready_for_review, so bot force-pushes to bot/sync-shared start no consumer CI until a human marks the PR ready. October: 89 bot-branch CI runs, 514 private min, for 5 merged syncs. Refs: TURNWRK-793 Co-Authored-By: Claude Opus 5.5 --- .github/workflows/sync-consumers.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/sync-consumers.yml b/.github/workflows/sync-consumers.yml index edece8d..c4b50b5 100644 --- a/.github/workflows/sync-consumers.yml +++ b/.github/workflows/sync-consumers.yml @@ -189,18 +189,24 @@ jobs: echo "First manifest-tracked sync (no previous SHA on ${{ matrix.base }})." fi echo + echo "Opened as a draft so bot force-pushes run no CI here: mark it ready for review to run CI, then merge." echo "Merging this PR ships the update (App Hosting / Coolify deploy on ${{ matrix.base }})." echo "Review authz-relevant changes under \`packages/shared/firebase/\` before merging;" echo "prod rules/indexes deploy separately via the Deploy Firebase rules workflow in TurnWrk/shared." } > "$RUNNER_TEMP/pr-body.md" + # Draft (TURNWRK-793): every consumer's CI skips draft PRs and runs on + # `ready_for_review`, so the force-pushes above start no consumer CI + # until a human marks the PR ready to merge it. Neither the force-push + # nor `gh pr edit` changes draft state, so an update never flips a draft + # out of draft, and never pushes back into draft a PR a human readied. if [[ -n "$existing" ]]; then gh pr edit "$existing" --repo "${{ matrix.repo }}" \ --title "Sync @turnwrk/shared ${sha_short}" \ --body-file "$RUNNER_TEMP/pr-body.md" echo "Updated PR #$existing on ${{ matrix.repo }}" else - gh pr create --repo "${{ matrix.repo }}" \ + gh pr create --repo "${{ matrix.repo }}" --draft \ --head bot/sync-shared --base "${{ matrix.base }}" \ --title "Sync @turnwrk/shared ${sha_short}" \ --body-file "$RUNNER_TEMP/pr-body.md"