Snap package fixes and improvements - #298237
Dmitriy Vasyura (dmitrivMS) wants to merge 14 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds ARM64 support to VS Code Snap packages by updating the build infrastructure, snapcraft configuration, and Azure CI/CD pipelines. The changes address long-standing feature requests (#125120, #269552) for ARM64 snap packages on Linux systems.
Changes:
- Updated snapcraft.yaml to support multi-architecture builds (x64 and arm64) and upgraded from Ubuntu 20.04 (core20) to 24.04 (core24) base
- Modified build scripts to generate architecture-specific snapcraft configurations with appropriate multiarch library paths
- Extended Azure pipeline to build and publish ARM64 snap packages alongside existing x64 packages
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| resources/linux/snap/snapcraft.yaml | Added architecture template variables, upgraded to core24 base, updated dependencies and library paths for multiarch support |
| build/gulpfile.vscode.linux.ts | Added BUILD_ARCHITECTURE and DEB_ARCHITECTURE template variable replacements for architecture-specific snap builds |
| build/azure-pipelines/product-build.yml | Propagated VSCODE_BUILD_LINUX_SNAP parameter to arm64 build job |
| build/azure-pipelines/linux/steps/product-build-linux-compile.yml | Extended snap build condition to include arm64 architecture and updated docker image reference to be architecture-specific |
|
With arm64 devices becoming more common, I'd love to see this get finished (ideally, including updating to use |
|
I opened draft #338607 as a focused follow-up/alternative for the ARM64 Snap packaging work here. It uses pinned native-architecture Snapcraft 8 builders for core22/core24 (core24 default) and wires ARM64 artifacts and sanity coverage. The changes to Policy update: The VS Code PR Check rejects protected build/pipeline changes on my community-classified PR. A VS Code team member would need to adopt/cherry-pick those changes into an authorized PR, or provide the trusted team-member-signed head commit required by the check. A generic GitHub Verified signature alone would not pass this gate; I am not requesting a policy bypass. |
Fixes #93046
Fixes #117685
Fixes #125120
Fixes #241174
Fixes #241636
Fixes #269552
Changes
Enabled building Snap package for
arm64.Upgraded Snap to
core22base.Register VS Code with
update-alternatives.