Skip to content

Develop sync helper: protected fork develop must use PR/merge-queue sync instead of direct push #6

@svelderrainruiz

Description

@svelderrainruiz

Summary

priority:develop:sync cannot update protected fork develop branches once the fork enforces pull-request-only + merge-queue rules.

After upstream PR LabVIEW-Community-CI-CD#985 merged on March 10, 2026, the checked-in helper still tried to push directly:

git push origin develop

GitHub rejected that with GH013 on LabVIEW-Community-CI-CD/compare-vi-cli-action-fork:

Repository rule violations found for refs/heads/develop.
- 11 of 11 required status checks are expected.
- Changes must be made through the merge queue.
- Changes must be made through a pull request.

Why this matters

The dual-fork control plane requires fork develop to stay aligned with upstream/develop before future fork work can be resumed safely. Once fork develop is protected like upstream, a direct-push sync path is no longer valid.

Evidence

  • Upstream merge that triggered the sync attempt: Update for standing priority #978 compare-vi-cli-action#985
  • Failing helper: node tools/npm/run-script.mjs priority:develop:sync -- --fork-remote all
  • Current failing path:
    • tools/priority/develop-sync.mjs
    • tools/priority/Sync-OriginUpstreamDevelop.ps1
  • Observed failure time: 2026-03-10T02:29Z

Expected behavior

  • priority:develop:sync detects when a target fork develop branch is PR-only / merge-queue-managed.
  • The helper chooses a queue-safe sync path instead of direct git push <fork> develop.
  • The helper emits deterministic parity/sync reports that distinguish direct-push sync from PR/queue sync.
  • Future agents can keep fork develop aligned without ad hoc raw GitHub commands.

Acceptance

  • Protected fork develop sync no longer fails with GH013 when PR-only/merge-queue rules are enabled.
  • The helper can stage or open the required sync PR/queue path deterministically for origin, personal, or all.
  • Coverage pins protected-fork behavior alongside the existing direct-push path.
  • Reports explain which sync mode was used and why.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingciCI/CD, workflows, and pipeline changesgovernancePolicy, approvals, and operating modelprogramProgram-level initiative

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions