Skip to content

fix(ci): publish SDK packages with shell pnpm#106

Merged
Lythaeon merged 1 commit intomainfrom
fix/ts-sdk-windows-publish-shell
Apr 12, 2026
Merged

fix(ci): publish SDK packages with shell pnpm#106
Lythaeon merged 1 commit intomainfrom
fix/ts-sdk-windows-publish-shell

Conversation

@Lythaeon
Copy link
Copy Markdown
Owner

Description

Fix the TypeScript SDK release workflow on Windows by removing the Node helper script from the publish path. The workflow already performs the npm existence checks in shell, and those checks succeed on Windows. The remaining failure came from invoking pnpm from inside a Node child process during publish.

Changes

Detailed list of what changed:

  • .github/workflows/release-typescript-sdk.yml: changed native package publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • .github/workflows/release-typescript-sdk.yml: changed SDK publish to run pnpm publish --access public --no-git-checks directly in the workflow shell
  • Removed the failing CI path that depended on node .../publish-package.mjs resolving pnpm inside a spawned child process on Windows

For slice-related changes, include:

  • Affected slices: CI / TypeScript SDK release automation
  • Cross-slice communication changes (if any) and why: none
  • Migration requirements (if any): none

Motivation

Business motivation:

  • Unblock Windows native package publishing for ts-sdk-v0.1.2 and avoid more failed release reruns.

Technical motivation:

  • The workflow's shell-level pnpm steps worked on Windows.
  • The helper script failed on Windows with spawnSync pnpm ENOENT because the child-process resolution path differed from the runner shell environment.

Alternative approaches considered:

  • Making publish-package.mjs resolve a platform-specific pnpm binary. Rejected because the workflow already had a working shell-level package manager path, so the simpler and more reliable fix is to use it directly.

Scope and impact

  • Affected slices: GitHub Actions release workflow for the TypeScript SDK
  • Data/API changes: none
  • Backward compatibility: no user-facing SDK/API change
  • Performance impact: none
  • Security impact: none

Testing

  • Unit tests
  • Integration tests
  • Manual verification
  • Performance checks (if applicable)
  • Security checks (if applicable)

Commands/results:

python - <<'PY'
import yaml
from pathlib import Path
with Path('.github/workflows/release-typescript-sdk.yml').open() as f:
    yaml.safe_load(f)
print('yaml-ok')
PY

act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-native -n
act workflow_dispatch -W .github/workflows/release-typescript-sdk.yml -j publish-sdk -n

Related issues and documentation

  • Fixes:
  • Related: spawnSync pnpm ENOENT on Windows publish jobs for the TypeScript SDK release
  • Architecture docs: docs/architecture/README.md
  • Relevant ARD/ADR:
  • Operations/runbook updates:

Reviewer checklist

  • Code follows project standards and architecture constraints
  • Slice boundaries are respected (docs/architecture/ard/0003-slice-dependency-contracts.md)
  • Tests added/updated and passing
  • Documentation updated (README/docs/operations as needed)
  • No undocumented breaking change
  • Performance trade-offs documented where relevant
  • Security considerations addressed where relevant

Additional notes

This is intentionally workflow-only. The publish helper remains in the tree, but release CI no longer depends on it for publishing.

@Lythaeon Lythaeon merged commit 3a5e917 into main Apr 12, 2026
1 of 3 checks passed
@Lythaeon Lythaeon deleted the fix/ts-sdk-windows-publish-shell branch April 14, 2026 15:13
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