Review: Woodpecker CI: tofu plan on PR, apply on merge (services)

review-1481-2026-06-17 Review

review block

Verdict: BLOCK

Template Completeness

  • [x] Type
  • [x] Lineage
  • [x] Repo
  • [x] User Story
  • [x] Context
  • [x] File Targets
  • [x] Feature Flag
  • [x] Acceptance Criteria
  • [x] Test Expectations
  • [x] Constraints
  • [x] Checklist
  • [x] Related
All sections present per template-issue-feature.

Traceability

  • [x] story:superuser-deploy label -- verified in project-pal-e-platform user-stories table ("I can deploy infrastructure changes via tofu plan/apply and see them succeed in Woodpecker CI")
  • [x] story note verified -- found in project-pal-e-platform user-stories section
  • [x] arch:ci-pipeline label -- references CI pipeline architecture component
  • [ ] arch note MISSING -- [SCOPE] No arch-ci-pipeline note exists in pal-e-docs. Create architecture note arch-ci-pipeline for component ci-pipeline.
  • [x] Forgejo issue -- ldraney/pal-e-services#120, state: open

File Targets

  • [ ] .woodpecker.yml -- ISSUE: The issue says the file target is .woodpecker.yml (new file at repo root), but the repo already uses a .woodpecker/ directory with terraform.yaml inside it. The stated file target is wrong.
  • [ ] CRITICAL: .woodpecker/terraform.yaml already exists and implements all five acceptance criteria:

Repo Placement

Correct -- issue is filed on ldraney/pal-e-services and the work targets that repo. However, the work is already done.

Dependencies

  • Sibling ticket: board item #1480 ("Woodpecker CI: tofu plan on PR, apply on merge (platform)") targets ldraney/pal-e-platform with the same pattern -- filed as pal-e-platform#453. These were likely created as a pair.
  • Multiple related CI pipeline issues exist on the board (bug fixes, improvements), all in backlog or done.
  • No blockers identified -- the work is already complete.

Acceptance Criteria

All five acceptance criteria are already satisfied by the existing .woodpecker/terraform.yaml pipeline. The test expectations (open a no-op PR, merge a real change) could be used to verify the existing pipeline still works, but the implementation work itself is done.

Blast Radius

No blast radius concerns -- the pipeline already exists and is presumably operational.

Decomposition Assessment

N/A -- the work is already done. No implementation needed.

Recommendation

  • [SCOPE] This ticket should be closed as already-done. The existing .woodpecker/terraform.yaml in ldraney/pal-e-services implements all acceptance criteria. The board item should move to done, and the Forgejo issue should be closed with a note referencing the existing file.
  • [SCOPE] Create architecture note arch-ci-pipeline for the ci-pipeline component.
  • [BODY] If the ticket is kept open for any reason, fix file target: .woodpecker.yml should be .woodpecker/terraform.yaml.