pipetree's own .woodpecker.yaml double-runs on every PR push (WP001) #17
Notifications
Total Time Spent: 3 minutes
oleks
3 minutes
No due date set.
Dependencies
No dependencies set.
Reference: oleks/pipetree#17
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Why:
~/projects/pipetree/.woodpecker.yamlline 1-2:This is the WP001 defect the repo's own linter now detects: every step runs TWICE, identically, on any push to a branch with an open PR. Doubles CI cost and doubles flaky-step exposure for zero added coverage. Confirmed by running the tool on its own repo.
IMPORTANT for whoever fixes it — do NOT blindly narrow the push trigger. That is the class-1 fix that CAUSED the class-2 founding case (oleks/oracle-adb-backend#136). Run
pipetree lint -online -C ~/projects/pipetreefirst: WP010 will state whetherci/woodpecker/push/woodpeckeris currently required by branch protection on this repo. Only narrow if it is not.Also note: once the emmett cutover (oleks/emmett#380/#120) lands, this repo's own pushes would be blocked by its own linter until fixed.
Acceptance:
pipetree lint -online -C ~/projects/pipetreeand check WP010's verdict on whetherci/woodpecker/push/woodpeckeris a required status contextbranch: [main]) to eliminate the double-run; if required, choose a fix that doesn't break the required context (see oleks/oracle-adb-backend#136 for the failure mode to avoid)pipetree lintreports clean against its own repo's.woodpecker.yamlLinks: oleks/oracle-adb-backend#136, oleks/emmett#380, oleks/pipetree
e9989b5Surfaced while implementing the Woodpecker CI linter in oleks/pipetree (specs/001-woodpecker-ci-linter).
Fixed in
114c0bc..woodpecker.yamlnow reads:Checked branch protection first, which is the half of WP001's
remediation that exists precisely so this fix does not become
oleks/oracle-adb-backend#136 again:
pipetree lint -online -C .→ "ci/woodpecker/push/woodpeckeris NOTcurrently required by any branch protection rule on this repo, so
narrowing the push trigger does not strand a required check today."
branch_protection_readonoleks/pipetree→[]. Noprotection rules exist at all, so there is no required context to
strand.
Two of them agreeing matters here: the first is this tool reporting on
itself, and a tool that only checked its own answer would be exactly the
kind of self-confirming evidence the class-2 rules exist to replace.
Verified after the change:
pipetree lint .woodpecker.yamlexits 0 (theWP001 finding is gone; one WP022 warning remains, non-blocking — the
go buildstep has nopath:scoping, which is a separate judgement call Ihave not made here), and
woodpecker-cli lintstill reports the configvalid. The pre-push hook's own WPR check also passed on the new file.
Note for the record: this defect sat here unnoticed because the retired
xonsh check structurally could not see the
event: [push, pull_request]shape — the same blind spot as oleks/pipetree#15. The new linter found it
on its own repo the first time it was pointed at it.
⏱ worked | 13-08-26 | session oleks/3b3844a4 | +3min | session-total 3min (lane-release) | elapsed from timeline