Skip to content

Add Linux to the release build and distribution pipeline#3506

Merged
ivan-ottinger merged 2 commits into
trunkfrom
add-release-linux-pipeline
May 19, 2026
Merged

Add Linux to the release build and distribution pipeline#3506
ivan-ottinger merged 2 commits into
trunkfrom
add-release-linux-pipeline

Conversation

@ivan-ottinger
Copy link
Copy Markdown
Contributor

@ivan-ottinger ivan-ottinger commented May 15, 2026

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 a release-linux group with an x64/arm64 matrix, mirroring the structure of release-mac and release-windows. Uses the Docker-on-default-queue pattern Apps Infra established for the dev Linux build group (#3346): runs inside $NODE_DOCKER_IMAGE because Amazon Linux on the default queue lacks dpkg/fakeroot required by electron-forge's MakerDeb. The Publish Release Builds step now also downloads *.deb artifacts and depends on release-linux.

fastlane/Fastfile — lifts the release_tag.nil? gate around the linux_x64_deb / linux_arm64_deb entries in update_builds. On Linux the .deb is 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:

  1. When code_freeze / new_beta_release runs next, the triggered release pipeline should show a 📦 Build for Linux group running both x64 and arm64 builds in parallel with Mac/Windows.
  2. Both Linux jobs should produce a .deb artifact at apps/studio/out/make/deb/**/*.deb.
  3. The Publish Release Builds step should download all DEBs and distribute_release_build should upload them to AppsCDN. Linux DEB URLs should appear in the cdn-link annotation, the GitHub draft release, and the Slack notification.

Pre-merge Checklist

  • Have you checked for TypeScript, React or other console errors?
  • CI is green.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 .deb artifacts.
  • Updated the release publish step to download .deb artifacts and depend on completion of the Linux build group.
  • Updated Fastlane distribution logic to always include Linux .deb entries 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.

Comment thread fastlane/Fastfile
@ivan-ottinger ivan-ottinger requested review from a team, gavande1 and iangmaia May 15, 2026 15:40
@ivan-ottinger
Copy link
Copy Markdown
Contributor Author

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.

Copy link
Copy Markdown
Contributor

@gavande1 gavande1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven’t tested this yet, but from the changes, it looks good to me 👍

@ivan-ottinger ivan-ottinger merged commit 094883f into trunk May 19, 2026
12 checks passed
@ivan-ottinger ivan-ottinger deleted the add-release-linux-pipeline branch May 19, 2026 10:31
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.

3 participants