Skip to content

fix(ci): publish CLI on dedicated cli-v* tag, not product v* tag - #796

Merged
jiashuoz merged 1 commit into
mainfrom
fix/cli-publish-dedicated-tag
Aug 2, 2026
Merged

fix(ci): publish CLI on dedicated cli-v* tag, not product v* tag#796
jiashuoz merged 1 commit into
mainfrom
fix/cli-publish-dedicated-tag

Conversation

@jiashuoz

@jiashuoz jiashuoz commented Aug 2, 2026

Copy link
Copy Markdown
Member

Summary

Release-ordering hazard: publish-cli.yml triggered on the product v* release tag, but the CLI depends on @e2a/sdk (cli/package.json declares "@e2a/sdk": "^5.0.0"), and the SDKs publish on their own ts-sdk-v* / python-v* tags pushed after the product tag. So the CLI was always published before the SDK version it was built against.

Observed live on v1.5.0: @e2a/cli@2.2.0 hit npm ~4 minutes before @e2a/sdk@5.5.0. It was benign only because CLI 2.2.0 happens to use no 5.5.0-only API — every method it calls existed in 5.4.0. A future CLI that genuinely needed a new SDK method would be installable-and-broken during that window.

Change

  • Trigger switched to a dedicated cli-v* tag, matching the SDK pattern exactly. workflow_dispatch retained; test job, npm-OIDC setup, --provenance, and concurrency group unchanged.
  • AGENTS.md publishing section updated to document the new tag and the ordering rationale.

New release step

Publishing the CLI now requires pushing cli-v<version> (after ts-sdk-v*), or dispatching the workflow — it no longer happens automatically on a product release. No other workflow publishes the CLI on v* (verified: build-image.yml and publish-mcp-http.yml only push container images).

Possible follow-up (not in this PR, to stay consistent with the SDK workflows, which also lack it): a tag-vs-package.json version guard across all three publish workflows.

🤖 Generated with Claude Code

The CLI depends on @e2a/sdk, but the SDKs publish on their own
ts-sdk-v* / python-v* tags pushed after the product tag. Triggering
publish-cli.yml on v* therefore always published the CLI before the
SDK version it was built against (observed on v1.5.0: @e2a/cli@2.2.0
hit npm ~4 minutes before @e2a/sdk@5.5.0). A CLI that needed a new
SDK method would be installable-and-broken during that window.

Publishing the CLI now requires pushing a cli-v<version> tag after
ts-sdk-v*, matching the SDK release pattern. workflow_dispatch stays.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@jiashuoz
jiashuoz merged commit fddf0ed into main Aug 2, 2026
23 checks passed
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