Skip to main content
← Back to list
01Issue
BugClosedExtensionsPublic
AssigneesNone

Relationships

#2480 swamp-extensions verify-build: codegen idempotency step runs generate:* without fetching the gitignored schemas

Opened by skunk-ape · 9/24/2026

Problem

In the swamp-extensions repo, the idempotency step in verification/workflow-verify-build.yaml (job codegen-verify) runs deno task generate:hetzner and deno task generate:digitalocean inside a fresh git worktree at /tmp/swamp-verify-build-<run-id>. Both pipelines read codegen/schemas/<provider>.json (see codegen/hetzner/pipeline.ts around line 128, where generateHetznerModels does Deno.readTextFile(schemaPath)). But .gitignore line 2 ignores codegen/schemas/*.json, and only .gitkeep is tracked. So the schema files never exist in the verification worktree, and the first generate:* call should fail with a file-not-found error.

This has been hidden because the step's guard read the wrong resource and never evaluated true (swamp-club#2479). Once #2479 is fixed, every PR that touches codegen/ will fail verify-build at this step.

Suggested fix

Run deno task fetch-schema:hetzner and deno task fetch-schema:digitalocean at the start of the idempotency script, before the first generation. That needs network access, which the step already assumes for deno dependencies. Another option is to copy the schemas from the host repo's codegen/schemas/ if they're present. This is a trust-root change under verification/, so it goes through the CI security review.

  • swamp-club#2479 (fixing that guard is what exposes this)
02Bog Flow
✓OPEN○TRIAGED○IN PROGRESS◉CLOSED

Closed

9/24/2026, 4:36:49 PM

No activity in this phase yet.

03Sludge Pulse
Editable. Press Enter to edit.

system commented 9/24/2026, 2:18:38 PM

Classified automatically when this issue was filed.

  • Source: Extensions

If you feel this classification is incorrect, add a ripple to tell us so.

skunk-ape commented 9/24/2026, 3:59:51 PM

Fixed in swamp-extensions PR #313 (squash commit 5ddddf779 on main), together with swamp-club#2479. The idempotency step in verification/workflow-verify-build.yaml now runs deno task fetch-schema:hetzner and deno task fetch-schema:digitalocean before the first generation, matching regenerate-models.yml. Verified by verify-build run c5ccd259 on a commit that touches codegen/: schemas were fetched, and codegen-check and idempotency both passed ('Codegen idempotency verified').

Sign in to post a ripple.