Validation pipeline: dev → staging → prod tiers #213

Closed
opened 2026-03-28 00:49:56 +00:00 by forgejo_admin · 0 comments

Type

Feature

Context

We built the validation column, template-validation, and skill-validate-ticket this session but didn't enforce it. Validation = smoke tests based on integration tests running across three tiers: dev (local/volume mount), staging (full containerized deployment), prod (existing). This ticket is the umbrella for the full validation pipeline.

User Story

As superadmin, I want every merge validated in dev and staging before prod, so regressions never reach users.

Lineage

Decomposition board: board-validation-pipeline in pal-e-docs. 11 sub-tickets across foundation, dev tier, staging tier, and enforcement.

Repo

Cross-repo: pal-e-platform (infra), pal-e-services (staging TF), pal-e-deployments (overlays), claude-custom (hooks/skills), per-repo .woodpecker.yaml

File Targets

See decomposition board — 11 sub-tickets with specific file targets each.

Acceptance Criteria

  1. Dev tier: every service has a dev overlay with volume-mount
  2. Dev tier: git pull on main enforced before dev testing
  3. Staging tier: staging namespace with ArgoCD apps
  4. Staging tier: Woodpecker pipeline builds, pushes, deploys, smoke tests
  5. /validate-ticket orchestrates tier 1 → tier 2 → tier 3
  6. Validation column enforced — no done without PASS
  7. SOP documents the full flow

Test Expectations

  • Dev tier: run integration tests against local code, all pass
  • Staging tier: deploy containerized image, smoke tests pass
  • Validation hook: attempt to move to done without validation note → blocked

Constraints

  • Dev environment must NOT stomp archbox (per feedback_never_stomp_archbox)
  • Staging uses k8s dev namespace, not Docker Compose (per feedback_no_docker_compose_on_archbox)
  • SPAs can't be path-proxied (per feedback_spa_no_subpath_proxy)

Checklist

  • Convention: validation-pipeline note
  • SOP: pull-before-dev hook
  • skill-validate-ticket tier awareness
  • Dev overlays audit
  • Dev Woodpecker step
  • Staging namespace + ArgoCD
  • Staging overlays
  • Staging Woodpecker pipeline
  • Staging terraform
  • Validation column hook
  • Dogfood: validate 17 unvalidated PRs
  • board-validation-pipeline — decomposition board
  • template-validation — validation note template
  • skill-validate-ticket — validation skill
  • sop-board-workflow — validation column
  • sop-frontend-dev-overlay — existing dev overlay SOP
### Type Feature ### Context We built the validation column, template-validation, and skill-validate-ticket this session but didn't enforce it. Validation = smoke tests based on integration tests running across three tiers: dev (local/volume mount), staging (full containerized deployment), prod (existing). This ticket is the umbrella for the full validation pipeline. ### User Story As superadmin, I want every merge validated in dev and staging before prod, so regressions never reach users. ### Lineage Decomposition board: `board-validation-pipeline` in pal-e-docs. 11 sub-tickets across foundation, dev tier, staging tier, and enforcement. ### Repo Cross-repo: pal-e-platform (infra), pal-e-services (staging TF), pal-e-deployments (overlays), claude-custom (hooks/skills), per-repo .woodpecker.yaml ### File Targets See decomposition board — 11 sub-tickets with specific file targets each. ### Acceptance Criteria 1. Dev tier: every service has a dev overlay with volume-mount 2. Dev tier: git pull on main enforced before dev testing 3. Staging tier: staging namespace with ArgoCD apps 4. Staging tier: Woodpecker pipeline builds, pushes, deploys, smoke tests 5. /validate-ticket orchestrates tier 1 → tier 2 → tier 3 6. Validation column enforced — no done without PASS 7. SOP documents the full flow ### Test Expectations - Dev tier: run integration tests against local code, all pass - Staging tier: deploy containerized image, smoke tests pass - Validation hook: attempt to move to done without validation note → blocked ### Constraints - Dev environment must NOT stomp archbox (per feedback_never_stomp_archbox) - Staging uses k8s dev namespace, not Docker Compose (per feedback_no_docker_compose_on_archbox) - SPAs can't be path-proxied (per feedback_spa_no_subpath_proxy) ### Checklist - [ ] Convention: validation-pipeline note - [ ] SOP: pull-before-dev hook - [ ] skill-validate-ticket tier awareness - [ ] Dev overlays audit - [ ] Dev Woodpecker step - [ ] Staging namespace + ArgoCD - [ ] Staging overlays - [ ] Staging Woodpecker pipeline - [ ] Staging terraform - [ ] Validation column hook - [ ] Dogfood: validate 17 unvalidated PRs ### Related - `board-validation-pipeline` — decomposition board - `template-validation` — validation note template - `skill-validate-ticket` — validation skill - `sop-board-workflow` — validation column - `sop-frontend-dev-overlay` — existing dev overlay SOP
forgejo_admin 2026-03-28 05:46:50 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo_admin/pal-e-platform#213
No description provided.