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

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

Copy link
Copy Markdown
Contributor

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.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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.

@gavande1 gavande1 left a comment

Copy link
Copy Markdown
Contributor

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

3 participants