Skip to content

ci(oasdiff): delete broken workflow, file follow-up#170

Merged
mastermanas805 merged 4 commits into
masterfrom
ci/remove-broken-oasdiff
May 29, 2026
Merged

ci(oasdiff): delete broken workflow, file follow-up#170
mastermanas805 merged 4 commits into
masterfrom
ci/remove-broken-oasdiff

Conversation

@mastermanas805

@mastermanas805 mastermanas805 commented May 29, 2026

Copy link
Copy Markdown
Member

Summary

Delete .github/workflows/oasdiff.yml — the workflow references go run ./cmd/openapi which does not exist (no cmd/openapi/ package). The fallback chain (./api --emit-openapi) is also unimplemented.

With fail-on-diff: false the failure was silent — every run compared prod's spec to prod's spec via the curl fallback. Caught in PR #167 + #168 reviews.

Replacement plan (tracked in #169)

Tracking issue #169 carries the proper wire-up plan: a tiny cmd/openapi/main.go that imports internal/handlers and writes the spec to stdout, after which the workflow can be reinstated verbatim with fail-on-diff: true against a baseline.

Until that lands the CLAUDE.md rule 22 contract-PR surface checklist is the manual gate.

Tests

No code change — workflow file deletion only. CI gate passes vacuously.

🤖 Generated with Claude Code

mastermanas805 and others added 4 commits May 29, 2026 14:00
The oasdiff workflow references `go run ./cmd/openapi` which does not
exist (there is no cmd/openapi/ — only cmd/smoke-buildinfo/). The fall-
back chain (`go build ./... && ./api --emit-openapi`) also doesn't
work — the api binary doesn't accept --emit-openapi. In practice the
workflow's 'Build openapi.json from PR' step always fell through to the
'WARNING: no openapi-emit binary found' echo, comparing prod's spec to
prod's spec, so it only ever emitted no-op output.

Bug caught by reviews during PR #167 and #168 (mentioned in QA-session
PR-3 brief). `fail-on-diff: false` means it was never an actual gate,
just noise. Delete and file a tracking issue for the proper wire-up.

A real replacement needs ONE of:
  (a) wire api binary to emit openapi via a CLI flag (--emit-openapi),
      then update the workflow to invoke it; or
  (b) add cmd/openapi/main.go that imports internal/handlers/openapi.go
      and writes the spec to stdout, matching the existing `go run
      ./cmd/openapi` invocation; or
  (c) use the live /openapi.json from a build-of-the-PR (run api in
      docker, hit the endpoint) — slowest but no Go-side code change.

Tracking issue filed; until then we have no automated OpenAPI breaking-
change check on PRs. The contract-PR surface checklist (CLAUDE.md
rule 22) remains the manual gate.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@mastermanas805 mastermanas805 merged commit 4f94baf into master May 29, 2026
14 checks passed
@mastermanas805 mastermanas805 deleted the ci/remove-broken-oasdiff branch May 29, 2026 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant