Add adapter-node smoke check to .woodpecker.yaml validate step (parity with westside-admin) #54

Open
opened 2026-04-30 12:30:15 +00:00 by forgejo_admin · 0 comments
Contributor

Type

Bug

Lineage

Surfaced as discovered scope during the /review-ticket review of forgejo_admin/westside-admin#12 (2026-04-30, review note review-1117-2026-04-30). The reviewer noted that westside-contracts also uses @sveltejs/adapter-node but has no post-build smoke check at all — so a future build that silently skips emitting build/index.js would push a broken image to Harbor without anyone noticing.

Not a regression from any specific change — westside-contracts has been in this state since its CI pipeline was scaffolded. Filing now because the diagnostic lens of the westside-admin bootstrap made the gap visible.

Repo

forgejo_admin/westside-contracts

What Broke

The .woodpecker.yaml validate step (or equivalent) does not assert on any specific build artifact after npm run build. If @sveltejs/adapter-node ever fails to emit build/index.js (adapter regression, vite plugin issue, accidental config change to adapter-static, etc.), the pipeline would still report green and Kaniko would build an image whose node build entry fails at runtime.

This is silent-failure exposure, not a current outage.

Repro Steps

Hypothetical: simulate a missing entry by npm run build followed by rm build/index.js, then run the pipeline. With no smoke check, validate passes. With the proposed check, it fails.

Expected Behavior

The validate step asserts on the canonical adapter-node entry:

  • test -f build/index.js
  • test -f build/handler.js

Matching the fix landed in westside-admin via PR #13.

Environment

  • Repo: forgejo_admin/westside-contracts
  • Adapter: @sveltejs/adapter-node
  • Reference fix: forgejo_admin/westside-admin#13

Acceptance Criteria

  • .woodpecker.yaml validate step asserts on build/index.js and build/handler.js after npm run build
  • PR pipeline runs green on the change
  • No regression on existing PR/main runs
  • westside-contracts — project this affects
  • forgejo_admin/westside-admin #12 — the parent bug that triggered this discovery
  • forgejo_admin/westside-admin #13 — the reference fix to mirror
### Type Bug ### Lineage Surfaced as discovered scope during the /review-ticket review of `forgejo_admin/westside-admin#12` (2026-04-30, review note `review-1117-2026-04-30`). The reviewer noted that westside-contracts also uses `@sveltejs/adapter-node` but has no post-build smoke check at all — so a future build that silently skips emitting `build/index.js` would push a broken image to Harbor without anyone noticing. Not a regression from any specific change — westside-contracts has been in this state since its CI pipeline was scaffolded. Filing now because the diagnostic lens of the westside-admin bootstrap made the gap visible. ### Repo `forgejo_admin/westside-contracts` ### What Broke The `.woodpecker.yaml` `validate` step (or equivalent) does not assert on any specific build artifact after `npm run build`. If `@sveltejs/adapter-node` ever fails to emit `build/index.js` (adapter regression, vite plugin issue, accidental config change to `adapter-static`, etc.), the pipeline would still report green and Kaniko would build an image whose `node build` entry fails at runtime. This is silent-failure exposure, not a current outage. ### Repro Steps Hypothetical: simulate a missing entry by `npm run build` followed by `rm build/index.js`, then run the pipeline. With no smoke check, validate passes. With the proposed check, it fails. ### Expected Behavior The `validate` step asserts on the canonical adapter-node entry: - `test -f build/index.js` - `test -f build/handler.js` Matching the fix landed in westside-admin via PR #13. ### Environment - Repo: `forgejo_admin/westside-contracts` - Adapter: `@sveltejs/adapter-node` - Reference fix: `forgejo_admin/westside-admin#13` ### Acceptance Criteria - [ ] `.woodpecker.yaml` `validate` step asserts on `build/index.js` and `build/handler.js` after `npm run build` - [ ] PR pipeline runs green on the change - [ ] No regression on existing PR/main runs ### Related - `westside-contracts` — project this affects - `forgejo_admin/westside-admin #12` — the parent bug that triggered this discovery - `forgejo_admin/westside-admin #13` — the reference fix to mirror
Sign in to join this conversation.
No labels
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
ldraney/westside-contracts#54
No description provided.