fix(release): skip existing SDK package versions#104
Merged
Conversation
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.
Description
Hardens the TypeScript SDK release workflow so already-published package versions skip before build/setup work, and bumps the next publish target to
0.1.2with clearer npm-facing SDK messaging.Changes
.github/workflows/release-typescript-sdk.yml: check npm first and skip SDK/native release work when the exact version already exists; native jobs now skip before Rust setup and build, and SDK publish skips before install/publish work..github/workflows/release-typescript-sdk.yml: standardize npm visibility checks onpnpm viewin the release flow.sdks/typescript/package.json: bump SDK version to0.1.2and replace the vague package description with an npm-facing description that says this is for Node.js Solana observer apps on SOF.sdks/typescript/native/*/package.json: bump all native runtime packages to0.1.2.sdks/typescript/README.md: clarify what kind of “app” this SDK builds and runs.sdks/typescript/RELEASING.md: update the documented tag example tots-sdk-v0.1.2.Motivation
Business motivation:
Avoid wasting CI time and release retries on package versions that are already published, and make the npm package page understandable to users who do not know what “app SDK” means.
Technical motivation:
The release pipeline should short-circuit on already-published versions before native toolchain setup or Rust builds, especially during tag retries and partial recovery attempts.
Alternative approaches considered:
Keeping the skip logic only inside
publish-package.mjswas insufficient because that still let the workflow install dependencies and set up Rust before discovering the version already existed.Scope and impact
0.1.1to0.1.2for the SDK and native packages.Testing
Commands/results:
Results:
check:release-metadatapassed with0.1.2across the SDK/native package set.pnpm publish --dry-runpassed for@lythaeon-sof/sdk@0.1.2.act --dryrunparsed the updated release workflow successfully. As expected, it cannot execute the real Windows/macOS matrix jobs locally and reports those platforms as unsupported.Related issues and documentation
0.1.2TypeScript SDK release preparation.docs/architecture/README.mdsdks/typescript/RELEASING.mdReviewer checklist
docs/architecture/ard/0003-slice-dependency-contracts.md)Additional notes
I also canceled the stale
ts-sdk-v0.1.1release runs so they do not race each other while0.1.2is being prepared.