Skip to content

Comments

feat: add multi-platform VSIX builds#3

Merged
kkdev92 merged 2 commits intomainfrom
feat/multi-platform-vsix
Feb 2, 2026
Merged

feat: add multi-platform VSIX builds#3
kkdev92 merged 2 commits intomainfrom
feat/multi-platform-vsix

Conversation

@kkdev92
Copy link
Owner

@kkdev92 kkdev92 commented Feb 2, 2026

Summary

Add CI/CD matrix builds to create platform-specific VSIXs, enabling Sharp native module support across all platforms.

Problem

Sharp failed to load on Windows ARM64:

Error: Could not load the "sharp" module using the win32-arm64 runtime

The VSIX only contained Linux x64 binaries because CI ran on ubuntu-latest only.

Solution

  • Matrix builds: Build VSIXs on 6 platforms (win32-x64, win32-arm64, linux-x64, linux-arm64, darwin-x64, darwin-arm64)
  • Cross-platform support: Use npm install --cpu=arm64 --os=<os> sharp for ARM64 targets
  • Auto-distribution: VS Code Marketplace serves the correct VSIX per user platform

Changes

File Change
ci.yml Add 6-platform build matrix
publish.yml Build and publish all platform VSIXs
verify-vsix.mjs Accept target platform argument
package.json Bump to 0.1.8

Test plan

  • Local build: vsce package --target win32-arm64
  • VSIX verification: node scripts/verify-vsix.mjs win32-arm64
  • Sharp binary included: @img/sharp-win32-arm64 ✓
  • CI matrix builds pass on all platforms

🤖 Generated with Claude Code

kkdev92 and others added 2 commits February 2, 2026 22:36
Add CI/CD matrix builds to create platform-specific VSIXs for Sharp
native binary compatibility across all supported platforms.

- Add 6-platform build matrix (win32-x64, win32-arm64, linux-x64,
  linux-arm64, darwin-x64, darwin-arm64)
- Support cross-platform Sharp binary installation for ARM64 targets
- Update publish workflow to build and publish all platform VSIXs
- Enhance verify-vsix.mjs to accept target platform argument
- VS Code Marketplace automatically serves correct VSIX per platform

Fixes Sharp load error on Windows ARM64:
"Could not load the sharp module using the win32-arm64 runtime"

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
macos-13 runner has been retired. Migrate to macos-15-intel
which is the last supported Intel-based macOS runner.

Reference: actions/runner-images#13046

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@kkdev92 kkdev92 merged commit 6004567 into main Feb 2, 2026
13 checks passed
@kkdev92 kkdev92 deleted the feat/multi-platform-vsix branch February 2, 2026 13:49
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