Add cross-pillar review Woodpecker step #62
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ldraney/pal-e-platform#62
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
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?
Lineage
plan-pal-e-agency→ Phase 9 → 9h (Woodpecker trigger step)Repo
forgejo_admin/pal-e-platformUser Story
As Betty Sue (main session coordinator)
I want cross-pillar trigger patterns to automatically create review issues when platform merges affect agency artifacts
So that SOPs and conventions stay in sync with infrastructure reality without manual vigilance
Context
Platform Phase 6.3/6.4 landed CI plan-on-PR and apply-on-merge. The cross-pillar trigger pattern (
convention-cross-pillar-triggers) defines three maturity levels. Level 1 (manual convention check during /update-docs) is live. This issue implements Level 2: automated Woodpecker trigger.When a merge to main changes files matching cross-pillar patterns, a new Woodpecker pipeline step should auto-create a Forgejo issue on this repo prompting an agency review.
The 9j cross-pillar review of
sop-secrets-managementproved the pattern's value — it found 6 real gaps. Automating the trigger ensures we never miss one.File Targets
Files to modify:
.woodpecker.yaml— add across-pillar-reviewstep that runs onpushtomain, afterapplyFiles NOT to touch:
terraform/— no infrastructure changessalt/— no config changesImplementation Spec
New step:
cross-pillar-reviewalpine:3.19(lightweight — only needs git, curl, jq)event: push,branch: mainapply(run after deploy completes)forgejo_token(from_secret) — NOTE: this secret currently hasevents: [pull_request]only. Must update toevents: [push, pull_request]before this will work. Usemcp__woodpecker__update_repo_secretor document as a manual pre-step.Logic:
git diff HEAD~1 --name-onlyto get changed files.woodpecker*→ "CI pipeline behavior change"terraform/modules/*/main.tf→ "New/changed infra module"salt/→ "Salt configuration change"[Cross-Pillar Review] pal-e-platform — {commit subject}convention-cross-pillar-triggershttps://forgejo.tail5b443a.ts.net/api/v1/repos/${CI_REPO}/issuesEdge cases:
.woodpecker.yamlchanged) — that's fine, it's meta-appropriatefailure: ignoreif Woodpecker supports it, otherwise|| trueon the curlAcceptance Criteria
.woodpecker.yamlchanges lands on main, a[Cross-Pillar Review]issue is auto-createdterraform/k3s.tfvarslands on main, no issue is created (not a trigger pattern)terraform/modules/harbor/main.tflands, an issue IS createdTest Expectations
.woodpecker.yamland confirm issue appearsforgejo_tokensecret has push events enabled before testingConstraints
.woodpecker.yaml(environment block, command list)curl+jqfor Forgejo API calls (same pattern as the plan step's PR comment)apk add --no-cache git curl jqonlyforgejo_tokenrepo secret must be updated to allowpushevents — include a note in the PR description about this pre-requisiteChecklist
forgejo_tokensecret events updatedRelated
project-pal-e-agency— this is the process pillar's Level 2 cross-pillar automationconvention-cross-pillar-triggers— defines the pattern, file triggers, and maturity levelssop-secrets-management— the 9j review that proved this pattern worksphase-pal-e-agency-9-ci-driven-operating-model— parent phase