Skip to content

Linux downloads page + unified macOS/Linux release (v0.1.15) - #305

Merged
NishanthNixx merged 6 commits into
mainfrom
feat/linux-builds-page
Aug 21, 2026
Merged

Linux downloads page + unified macOS/Linux release (v0.1.15)#305
NishanthNixx merged 6 commits into
mainfrom
feat/linux-builds-page

Conversation

@NishanthNixx

Copy link
Copy Markdown
Collaborator

Makes Linux a first-class platform in releases and on the site, and bumps to 0.1.15.

Why

Today there are two tags per version: v0.1.14 (macOS) and v0.1.14-linux-preview (Linux, a prerelease listed underneath). A Linux visitor opens the latest release, sees only a .dmg, and concludes there's no Linux build.

Changes

Release plumbing

  • Dockerfile.linux — the Linux build environment, committed so it's reproducible. The Tauri CLI is installed globally because the repo is bind-mounted and a local resolve picks up the host's macOS binary.
  • release-local.sh — after the macOS steps, builds .deb + AppImage for amd64 and arm64 in Docker and uploads them to the same release. Reuses the already-built frontend, so the container only does the Rust half.
    • SKIP_LINUX=1 → macOS-only; LINUX_PLATFORMS="linux/amd64" → skip the slower ARM build.
    • Docker not running degrades to a macOS-only release rather than failing.
    • LTO is disabled for Linux: the fat-LTO link gets OOM-killed in a Docker VM.
  • Stable arch-suffixed copies (MyDevTools-amd64.deb) so website links never need editing — same trick as MyDevTools.dmg.
  • .gitignore dist-linux/ — 148 MB of build output must never be committed.

Website

  • /linux-builds page with install instructions, covering Intel/AMD and ARM64.

Docs

  • Linux build section: deps (incl. xdg-utils, without which AppImage bundling fails), the build, and the keyring verification step.
  • Corrected the claim that releases go to the mydevtools-releases mirror — they've come from this repo since 0.1.13.

Verified

The x86_64 .deb produced by this setup was installed and run on a real Ubuntu machine — app launches and works.

Deliberately not included

Linux auto-update. Only AppImage can self-update, and latest.json advertises darwin-* only. Adding a linux-x86_64 entry means every publisher of that manifest must merge into it rather than overwrite, or one platform wipes the other's entries. Linux users re-download for now; the page says so.

🤖 Generated with Claude Code

Nishanth and others added 6 commits August 20, 2026 14:24
Links to the Linux artifacts (AppImage + .deb) on the GitHub releases page,
with install instructions and an explicit 'preview' notice: Linux is not yet
covered by auto-update, and the app needs a desktop keyring (GNOME Keyring /
KWallet) for its database key.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The page advertised generic Linux AppImage/.deb downloads, which would send
x86_64 visitors to packages that cannot run on their machine. Lead with the
architecture in the metadata, the preview notice, and the button subtitle.

Also correct the Linux build docs from actually doing the build: xdg-utils is
required (AppImage bundling fails without it) and fat LTO can get the linker
OOM-killed on a memory-constrained builder.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The prose said it was required but the command above it didn't install it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The page said ARM64-only, which was true when it was written but is now wrong:
the x86_64 .deb is published and verified installing on Ubuntu. Lead with
Intel/AMD (one amd64 package covers both vendors), keep ARM64 as the secondary
option, and note the Ubuntu 22.04+ / Debian 12+ requirement since older
releases don't ship libwebkit2gtk-4.1-0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Users currently have to find two tags per version — v0.1.14 (macOS) and
v0.1.14-linux-preview (Linux, a prerelease listed below it). A Linux visitor
sees the latest release contain only a .dmg and concludes there is no Linux
build. Publish both platforms under one tag instead.

- Dockerfile.linux: the Linux build environment, committed so anyone can
  reproduce it. Tauri CLI is installed globally because the repo is
  bind-mounted and a local resolve would find the host's macOS binary.
- release-local.sh: after the macOS steps, build .deb + AppImage for amd64 and
  arm64 in Docker and upload them to the same release. The frontend export is
  reused, so the container only does the Rust half. LTO is disabled there: the
  fat-LTO link gets OOM-killed in a Docker VM. SKIP_LINUX=1 or LINUX_PLATFORMS
  narrow the scope; a stopped Docker degrades to a macOS-only release instead
  of failing.
- Stable arch-suffixed copies (MyDevTools-amd64.deb) so website links never
  need editing, mirroring what MyDevTools.dmg already does.
- .gitignore dist-linux/ — 148MB of build output must never be committed.
- RELEASING.md: document the unified flow, and correct the claim that releases
  go to the mydevtools-releases mirror (they've come from this repo since
  0.1.13).

latest.json still advertises darwin-* only: Linux has no auto-update because
only AppImage can self-update, and a second publisher of that manifest would
need to merge rather than overwrite.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
mydevtools-tech Ready Ready Preview Aug 21, 2026 3:16pm

@github-actions

Copy link
Copy Markdown

ThreatCrush Security Scan

0 finding(s)

No findings.

@NishanthNixx
NishanthNixx merged commit fb0becd into main Aug 21, 2026
6 checks passed
@itsmeakhil
itsmeakhil deleted the feat/linux-builds-page branch August 21, 2026 20:07
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.

2 participants