Every feature-branch push currently fires TWO pipelines — a push CI and a
pull_request CI — doubling load on the storage-constrained (spinning-disk)
Woodpecker runner. The push run on feature branches is redundant; the PR
pipeline is the merge gate. Run push CI only on main; PR + manual CI still
run on every branch. ~halves feature-branch CI load, zero loss of gating
(branch protection requires no push/ci status context).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QDgorbfgN4Fgi1iHGkgndn