Skip to content

Add VSIX build workflow with artifact upload#8

Merged
ram-nadella merged 10 commits intomainfrom
add-vsix-build-workflow
Jun 9, 2025
Merged

Add VSIX build workflow with artifact upload#8
ram-nadella merged 10 commits intomainfrom
add-vsix-build-workflow

Conversation

@ram-nadella
Copy link
Owner

Summary

  • Adds a new GitHub Actions workflow that builds and uploads the VSIX package as an artifact
  • The VSIX build only runs after both pylight and pydance tests complete successfully
  • Artifacts are retained for 30 days and can be downloaded from the Actions tab

Test plan

  • Verify the workflow runs on this PR
  • Check that pylight-test job completes successfully
  • Check that pydance-test job completes successfully
  • Verify that build-vsix job runs only after both test jobs pass
  • Confirm VSIX artifact is uploaded and downloadable

🤖 Generated with Claude Code

ram-nadella and others added 10 commits June 8, 2025 21:47
This workflow builds the VSIX package after both pylight and pydance tests
pass successfully, then uploads it as a downloadable artifact.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Combine pylight and pydance test workflows into a single ci.yml
- Run pylight and pydance tests in parallel
- Build VSIX only after both test jobs succeed
- Remove duplicate test runs and improve efficiency

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Use cargo-zigbuild to cross-compile pylight for aarch64-apple-darwin
- Build ARM64 macOS binary for M-series Macs on Linux runners
- Avoids expensive macOS runners while supporting Apple Silicon

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
cargo-zigbuild requires Zig to be installed for cross-compilation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Replace cargo-zigbuild with cross for simpler setup
- cross handles C dependencies (tree-sitter) automatically
- No need for Zig installation
- Cleaner and more standard Rust cross-compilation approach

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Build native binaries on each platform (Linux x64, macOS ARM64)
- Create platform-specific VSIX artifacts
- Fix xvfb usage for non-Linux platforms
- This properly supports M-series Macs with native ARM64 binaries

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Remove --no-dependencies flag to include node_modules in VSIX
- Add .vscodeignore to control what gets packaged
- Add VSIX installation test in CI
- Add integrity test suite to verify dependencies are packaged
- This fixes the "Cannot find module" error when installing VSIX

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Use dynamic import instead of require to satisfy TypeScript linter

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Apply prettier formatting to satisfy format check

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Add quotes around wget URL to handle special characters properly

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@ram-nadella ram-nadella merged commit f2a04d5 into main Jun 9, 2025
4 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