Add Linux to the release build and distribution pipeline#3506
Conversation
There was a problem hiding this comment.
Pull request overview
Extends the existing Buildkite + Fastlane release automation to produce and publish Linux .deb artifacts alongside the existing macOS and Windows release builds, enabling a Linux beta release pipeline.
Changes:
- Added a Linux release build group (x64/arm64 matrix) to the Buildkite release pipeline, running the build inside the Node Debian Docker image and publishing
.debartifacts. - Updated the release publish step to download
.debartifacts and depend on completion of the Linux build group. - Updated Fastlane distribution logic to always include Linux
.debentries in the builds uploaded to AppsCDN for both dev and release runs.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
fastlane/Fastfile |
Always includes Linux .deb artifacts in distribute_builds uploads (dev + release). |
.buildkite/release-build-and-distribute.yml |
Adds Linux release build matrix + downloads .deb artifacts during publish and wires dependencies. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Hello @iangmaia 👋🏼🙂 Do you think this PR is everything we need for the public release of Studio for Linux? Do we need to do anything special regarding the Release V2 flow? 🤔 Thank you very much! We are aiming to have Studio for Linux out with the next scheduled Studio release (May 25) - with May 21 code freeze. |
gavande1
left a comment
There was a problem hiding this comment.
I haven’t tested this yet, but from the changes, it looks good to me 👍
Related issues
Closes RSM-2587. Last remaining gate before a first Linux beta can ship.
How AI was used in this PR
AI-assisted: drafted the Buildkite group, Fastfile change, and PR body following existing precedents (release-mac, release-windows, dev-linux). Author reviewed.
Proposed Changes
Two coupled changes so release lanes produce and upload Linux DEBs alongside Mac/Windows:
.buildkite/release-build-and-distribute.yml— adds arelease-linuxgroup with anx64/arm64matrix, mirroring the structure ofrelease-macandrelease-windows. Uses the Docker-on-default-queue pattern Apps Infra established for the dev Linux build group (#3346): runs inside$NODE_DOCKER_IMAGEbecause Amazon Linux on thedefaultqueue lacksdpkg/fakerootrequired by electron-forge'sMakerDeb. ThePublish Release Buildsstep now also downloads*.debartifacts and depends onrelease-linux.fastlane/Fastfile— lifts therelease_tag.nil?gate around thelinux_x64_deb/linux_arm64_debentries inupdate_builds. On Linux the.debis the only artifact (serves as both update payload and full installer), so the same entry covers dev and release builds.install_type: 'Update'keeps the URL convention compatible with the in-app updater's polling path (#3465).Testing Instructions
CI on this PR only validates parse/lint — the release pipeline doesn't run for regular PRs. The first real verification happens when a release is cut. After this lands:
code_freeze/new_beta_releaseruns next, the triggered release pipeline should show a 📦 Build for Linux group running both x64 and arm64 builds in parallel with Mac/Windows..debartifact atapps/studio/out/make/deb/**/*.deb.distribute_release_buildshould upload them to AppsCDN. Linux DEB URLs should appear in thecdn-linkannotation, the GitHub draft release, and the Slack notification.Pre-merge Checklist