ci: release the SDK when any client source file it ships from changes - #476
Merged
Conversation
The auto-release gate only fired on clients/*/src/openapi.json, but the SDK generator also copies openapi.d.ts, openapi-runtime.json, additional-types.ts and schema-model.ts out of clients/*/src into @epilot/sdk. A change to any of those landed on main unpublished (#464, #469) and only shipped when a later spec PR swept it up. The gate now matches all five client source inputs. Nothing else changes: the release commit only touches packages/epilot-sdk-v2/ and README.md, so it still cannot re-trigger the job. Verified against real commit file lists: #464, #469 and the spec merges #463/#473 trigger; the auto-release commits, a changeset-only commit and the version-packages chore do not. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QdG1fUzmCxtQ9Etuya2sks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Minimal alternative to #470.
The auto-release gate only fired on
clients/*/src/openapi.json, but the SDK generator (scripts/generate-sdk-v2.ts) copies five files out of eachclients/*/src/into@epilot/sdk: the spec,openapi.d.ts,openapi-runtime.json,additional-types.tsandschema-model.ts. A change to any of the other four landed on main unpublished (#464, #469 — bothschema-model.tschanges) and only shipped when a later spec PR swept it up.This PR extends the single grep pattern to match all five client source inputs. Nothing else changes: because the gate only watches
clients/and the auto-release commit only ever touchespackages/epilot-sdk-v2/andREADME.md, the release commit structurally cannot re-trigger the job — so no exclusion regex and no[skip release]marker are needed (the parts of #470 this replaces).Known, accepted trade-off: changes to the SDK's own runtime (
packages/epilot-sdk-v2/src/*.ts) or to the generator still don't auto-release. The manual escape hatch is pushing an@epilot/sdk@x.y.ztag, which runs thepublish-sdkjob.Test plan
Verified the new expression against real main-history commit file lists:
a7a5977,3ab8f98→ skip (no self-trigger)983ef71and version-packages chore chore: version pricing-client, entity-client and sdk #471 → skip🤖 Generated with Claude Code
https://claude.ai/code/session_01QdG1fUzmCxtQ9Etuya2sks
Generated by Claude Code