Skip to content

feat(vscode): bundle release binaries into platform VSIX #48

@jscaltreto

Description

@jscaltreto

Parent: #33

Summary

Bundle the downstage binary into platform-specific VSIX packages, but do not add a second cross-compile pipeline in the VS Code workflow. The release workflow should reuse the platform binaries already produced by GoReleaser and package those into target-specific VSIX artifacts.

The VS Code workflow should be reframed as CI only: lint, compile, and packaging smoke-test. Release artifact production belongs in the release workflow.

Targets

  • linux-x64
  • darwin-x64
  • darwin-arm64
  • win32-x64

Versioning and changelog ownership are tracked in #47. This issue is about producing platform-specific VSIX artifacts that bundle the release binary and align extension packaging with the existing release pipeline.

Direction

  • GoReleaser remains the source of truth for platform binaries
  • The release workflow packages VSIX files from local GoReleaser outputs in dist/
  • The VS Code workflow remains CI and does not own cross-compilation or release publishing
  • The extension should prefer an explicitly configured downstage.server.path, then a bundled binary, then PATH

Work

  • Update package.mjs to support release packaging from an already-built binary path
  • Update package.mjs to emit platform-specific VSIX packages via vsce package --target <platform>
  • Update package.mjs to copy the root CHANGELOG.md into the staged extension during packaging
  • Update extension activation to find the bundled binary (fall back to PATH)
  • Update the release workflow to package and publish platform VSIX files using GoReleaser outputs
  • Keep the VS Code workflow focused on CI: lint, compile, and packaging smoke-test
  • Consume the version set by the release flow so packaged VSIX metadata matches the release tag
  • Update extension README with the fact that the binary is bundled and that release notes come from the shared root changelog

Non-goals

  • Adding a separate cross-compile matrix to the VS Code workflow
  • Rebuilding release binaries in Node packaging scripts when GoReleaser already produced them

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions