mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-19 08:01:25 +00:00
988ec35f85
Fork sync (push-on-merge-to-forks parity): a parent-level auto_pull.sync_forks toggle routes changes on each fork's wm-fork/** branch into that fork workspace, via the parent's existing webhook and one extra fork-heads listing per poll tick (git ls-remote pattern for token repos, git/matching-refs for app-backed). Fork state is a server-written status-only auto_pull blob on the fork's own repo entry; the fork's card shows a read-only "managed in the parent workspace" line with its branch and last pull status. Dev workspaces (prefix-less ids) use the same branch parsing (unit-tested in windmill-common). PR-on-deploy: opening PRs for Windmill-pushed branches moves into the deploy pipeline, per repo toggle (promotion_open_prs on the promotion repo; parent-level fork_open_prs for fork deploys). The push job carries a marker and the job-completion hook derives the pushed branch (helper unit-tested against the CLI formula) and opens the PR outbound, so it works without inbound webhooks; the webhook-side wm_deploy PR arm is removed. The documented open-pr-* GitHub Actions remain valid alternatives (PR creation is idempotent). Fork guards: promotion mode, enabled auto-pull, and fork_open_prs are rejected on fork workspaces (they are parent-managed; a fork's deploys always target its wm-fork/** branch) and the promotion card is hidden in a fork's settings. Enabling auto-pull now also requires EE, and the post-commit webhook reconcile persists the normalized delivery mode. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PP5gBSPfo1YtkL1sWVAjJm