Commit Graph
3 Commits
Author SHA1 Message Date
vicrodh 207d928fd8 ci(snap): add an arm64 track to release-snap (native runner, dump repack)
Both arches now publish from CI: the existing amd64 track plus a new
build-binary-arm64 (native ubuntu-24.04-arm, free for public repos, reuses
release-linux-aarch64's cargo cache) -> snap-arm64 that dumps the prebuilt
aarch64 binary with packaging/snap-slint/snapcraft-arm64.yaml. This CI upload
is the sole publish path; Launchpad / "Build from GitHub" is not used.

cc
2026-07-09 08:13:58 -06:00
vicrodh 400637bf6d fix(ci): apply the pending release-pipeline review fixes
Restores the ALSA layout binds in both snap recipes (bit-perfect hw:
access inside the snap), lets the build cache save on main as well as
slint-mvp, installs the desktop file as com.blitzfc.qbz.desktop so the
AppStream launchable and the MPRIS DesktopEntry resolve in deb/rpm,
clears the stale boot-restore error when a new browser sign-in starts,
and adds the X11 dlopen libraries to the flake's runtime set. The
flake version/rev/srcHash bump remains a tag-time step (documented in
the release checklist, which is rewritten for the 2.0 Slint flow).

cc
2026-07-03 18:46:37 -06:00
vicrodh 77a476c8e7 ci(snap): all-hosted Snap pipeline for the Slint build (dump prebuilt binary)
The dev box is Gentoo/OpenRC with no systemd, hence no snapd, so it cannot
build or upload snaps. This pipeline keeps everything on GitHub-hosted Ubuntu
runners (which have snapd) instead:

- packaging/snap-slint/snapcraft.yaml: a `plugin: dump` recipe that packages a
  PRE-BUILT qbz binary (no compilation), with the Slint runtime stack
  (Vulkan/GL via the gnome extension, winit Wayland/X11, alsa/pipewire, mpris).
  Kept separate from the Tauri snapcraft.yaml so neither clobbers the other.
- .github/workflows/release-snap.yml: job 1 compiles the binary on a 16 GB
  runner using the same MIN-tier + 18 GB swap recipe as build-slint.yml; job 2
  downloads it and runs snapcraft `dump` + snapcore/action-publish. The heavy
  compile is on a free public runner; the snap packaging is on a runner that
  has snapd — neither touches the OpenRC box.

Requires the SNAPCRAFT_STORE_CREDENTIALS secret (generate once via
`snapcraft export-login` on any snapd-capable host). The runtime confinement
(stage-packages/plugs for the non-GTK GPU stack) is a first cut and will need a
real `snapcraft build` + `snap run` on the runner to finalize; it cannot be
tested locally without snapd.

cc
2026-06-26 08:32:26 -06:00