ci: assert on adapter-node artifacts in validate smoke check #13
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "12-fix-validate-adapter-node-artifact"
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?
Summary
.woodpecker.yamlvalidate step's smoke checktest -f build/index.htmlis wrong for@sveltejs/adapter-node, which producesbuild/index.js+build/handler.jsinstead of a static HTML entry.build-and-pushstep.build/index.js(the entry scriptpackage.json'sstartinvokes) plusbuild/handler.jsfor completeness.Changes
.woodpecker.yaml: replacetest -f build/index.htmlwithtest -f build/index.jsandtest -f build/handler.jsin thevalidatestep (line 33).Test Plan
validatestep now passes (both adapter-node artifacts exist afternpm run build)pushevent triggers full pipeline on main:validate→build-and-push(Kaniko → Harbor) →update-kustomize-tag(auto-PR to pal-e-deployments)pull_requestruns (validate still gates Kaniko, Kaniko still skips on PR per existingwhen: branch: main)Review Checklist
/review-ticket→review-1117-2026-04-30).woodpecker.yaml, +2/-1)Related Notes
forgejo_admin/westside-admin #12— the Forgejo issue this PR closeswestside-admin— the project this work belongs tostory-westside-admin-admin-row-crud— the user story this traces toarch-ci-pipeline— the architecture component touchedreview-1117-2026-04-30— scope review note (verdict: APPROVED)Discovered scope
westside-contractsalso usesadapter-nodebut has no smoke check at all (per /review-ticket). Not a regression — won't be addressed here. Worth a separate ticket if Lucas wants parity.Closes #12
PR #13 Review
DOMAIN REVIEW
Tech stack: Woodpecker CI + SvelteKit
adapter-node. Single-line CI smoke-check correction in.woodpecker.yaml.Correctness:
@sveltejs/adapter-nodeemits a Node entry script (build/index.js) plus a request handler module (build/handler.js); it never produces a staticbuild/index.html. The previous assertion was structurally impossible to satisfy.build/index.jsmirrorspackage.json's"start": "node build/index.js", so the smoke check now matches the actual runtime entrypoint.build/handler.jsas a second assertion is solid defense-in-depth — the issue body explicitly allowed this and it catches partial-build failures where the entry script exists but handler emit broke.YAML safety: Diff replaces one
- test -f ...line with two at the same 6-space indent inside thevalidatestep'scommands:list. No colons-in-values, no quoting hazards, no anchors touched. Low risk perfeedback_yaml_parse_validation. Woodpecker parse-validates on push regardless.Pipeline gating preserved:
validatestill runs onevent: [push, pull_request, manual](line 34-35) — gating intact.build-and-pushstep'swhenblock (excludingpull_request) is untouched — PR runs still won't push to Harbor.validatebeforebuild-and-push) means assertion failure still blocks Kaniko, which is the intended behavior.Blast radius (verified via the linked review note
review-1117-2026-04-30):westside-appuses adapter-static —build/index.htmlIS correct there. No fan-out fix needed.westside-contractsuses adapter-node but has no smoke check at all. PR explicitly defers this as discovered scope. Correct call.BLOCKERS
None.
NITS
None for this PR. The discovered-scope item (westside-contracts adapter-node parity smoke check) belongs in its own ticket if Lucas wants the parity, as the PR body states.
SOP COMPLIANCE
12-fix-validate-adapter-node-artifact—{issue}-{kebab-purpose})## Summary,## Changes,## Test Plan,## Review Checklist,## Related Notes,## Discovered scopestory-westside-admin-admin-row-crud), arch slug (arch-ci-pipeline), and review slug (review-1117-2026-04-30)Closes #12link present.env, no credentials in diffci: assert on adapter-node artifacts in validate smoke check) — explains the why, not just the whatfeedback_stay_in_scopePROCESS OBSERVATIONS
validateand never reached Kaniko, so the westside-admin image has never been pushed to Harbor. This unblocks the first real deploy of the admin app and unblocks downstream feature merges (#1, #2, #4) from being shippable.build/index.js. If somehow wrong, it would simply fail CI on the next push, not break prod.VERDICT: APPROVED