Skip to content

Add Linux release (AppImage) + native build smoke test - #213

Merged
vk0eppel merged 2 commits into
mainfrom
feat/linux-release
Jul 26, 2026
Merged

Add Linux release (AppImage) + native build smoke test#213
vk0eppel merged 2 commits into
mainfrom
feat/linux-release

Conversation

@vk0eppel

Copy link
Copy Markdown
Owner

Context

CLAUDE.md and the README list Linux as a target platform, but there was no Linux build in the release pipeline. The engine already compiled for Linux (MIDI via ALSA/midir, transport on the non-macOS path); this adds the missing release plumbing.

Changes

  • patch_app/linux/ — committed the Flutter Linux runner scaffold (mirrors the committed windows/). APPLICATION_ID and the GTK window title corrected to match the other platforms (com.patch.app / Patch).
  • release.ymlubuntu-latest matrix entry: GTK/ALSA/GStreamer apt deps, flutter build linux --release, and AppImage packaging → Patch-<version>-linux-x86_64.AppImage, wired into the upload glob and the draft-release files:.
  • ci.ymlbuild-linux smoke-test job (flutter build linux --debug) mirroring build-macos, so Linux link/plugin regressions fail PRs instead of surfacing at tag time.
  • README.md — platform folders are committed; added an AppImage download note.

Notes

  • Flash-overlay stays macOS/Windows-only (gated by supportsFlashOverlay), so no Linux native method channel is needed.
  • Config path parity verified: computeDataDir()~/.local/share/Patch on Linux.
  • No codesigning (consistent with the unsigned macOS/Windows artifacts).

Verification

  • flutter analyze clean; all 300 Flutter tests pass; both workflows valid YAML.
  • The actual Linux compile+link is exercised by the new build-linux CI job on this PR.

🤖 Generated with Claude Code

vk0eppel and others added 2 commits July 26, 2026 17:08
The engine already compiled for Linux (midir/ALSA, non-macOS transport
path); this adds the missing release plumbing.

- Commit the Linux runner scaffold (mirrors the committed windows/), with
  APPLICATION_ID and window title corrected to match the other platforms.
- release.yml: ubuntu-latest matrix entry — GTK/ALSA/GStreamer deps,
  flutter build linux --release, AppImage packaging.
- ci.yml: build-linux smoke test so link/plugin regressions fail PRs
  instead of surfacing at tag time.
- README: note committed platform folders + AppImage download.

Flash-overlay stays macOS/Windows-only (gated by supportsFlashOverlay),
so no Linux native channel is needed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Satisfies the CI `dart format --set-exit-if-changed` gate.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vk0eppel
vk0eppel merged commit 8e27416 into main Jul 26, 2026
4 checks passed
@vk0eppel
vk0eppel deleted the feat/linux-release branch July 26, 2026 15:19
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.

1 participant