flatpak: hydrate a 1.45 GiB flatpak-ci shell instead of 10.4 GiB .#flatpak + 14.5 GiB .# #52

Merged
founder merged 1 commit from claude/flatpak-slim-shell into main 2026-08-16 10:56:45 +00:00
Owner

KSE-0186 D2 second slice. Dedicated minimal devShells.flatpak-ci (measured on the forge: 1.45 GiB / 353 paths vs 10.36 GiB for .#flatpak; the .# shell used for rclone was 14.5 GiB + 7 drvs built at job time). Arch-repo scripts, Merge, Build (Linux) upload and publish-flatpak download repointed. .#flatpak unchanged (Build (Linux) needs Bazel). Verified: nix eval + nix build of .#devShells.x86_64-linux.flatpak-ci on the forge; YAML + bash -n. Next slice: bind-mount the host /nix into the docker sandbox to remove the second hydration pass; cache volumes on the linux-large targets (common.nix, needs forge deploy).

KSE-0186 D2 second slice. Dedicated minimal devShells.flatpak-ci (measured on the forge: 1.45 GiB / 353 paths vs 10.36 GiB for .#flatpak; the .# shell used for rclone was 14.5 GiB + 7 drvs built at job time). Arch-repo scripts, Merge, Build (Linux) upload and publish-flatpak download repointed. .#flatpak unchanged (Build (Linux) needs Bazel). Verified: nix eval + nix build of .#devShells.x86_64-linux.flatpak-ci on the forge; YAML + bash -n. Next slice: bind-mount the host /nix into the docker sandbox to remove the second hydration pass; cache volumes on the linux-large targets (common.nix, needs forge deploy).
flatpak: hydrate a 1.45 GiB flatpak-ci shell instead of 10.4 GiB .#flatpak + 14.5 GiB .#
Some checks failed
Build: SQLite SEE / Redacted SEE compile (pull_request) Successful in 5s
Build: Apple / Check (SwiftLint) (pull_request) Successful in 17s
Namespace: Build Images / Refresh macOS runner lane (push) Successful in 7s
Build: Apple / Check (SwiftLint) (push) Successful in 16s
Build: SQLite SEE / Redacted SEE compile (push) Successful in 28s
Build: Apple / Build (visionOS) (pull_request) Successful in 26s
Build: Apple / Build (iOS) (pull_request) Successful in 29s
Build: Apple / Build (iOS) (push) Successful in 29s
Release: Signing Preflight / Release (Signing Preflight) (push) Successful in 58s
Build: Apple / Build (visionOS) (push) Successful in 25s
Namespace: Build Images / Refresh Linux runner image (push) Successful in 1m9s
Deploy: API / Deploy (API) (push) Has been cancelled
Deploy: Web / Deploy (Web) (push) Has been cancelled
Release: If Needed / Check (Release Needed) (push) Has been cancelled
Build: Apple / Build (macOS) (pull_request) Successful in 1m50s
Build: Apple / Build (macOS) (push) Successful in 1m56s
Build: KaiOS / Build (KaiOS) (pull_request) Successful in 8m53s
Build: Linux / Build (Linux x86_64) (pull_request) Successful in 13m20s
Build: Linux / Build (keystore-forge x86_64) (pull_request) Has been skipped
Build: Linux / Build (Linux x86_64) (push) Successful in 15m28s
Build: Linux / Build (keystore-forge x86_64) (push) Has been skipped
Build: KaiOS / Build (KaiOS) (push) Successful in 10m24s
Build: Web / Build (Web) (push) Has been cancelled
Build: Web / Build (Web) (pull_request) Failing after 12m56s
fb62ad1e28
The Flatpak arch-repo legs spent ~36 of their ~39 minutes (x86_64, task
76914) hydrating Nix closures: `.#flatpak` on the host for the GPG
materialise (321 paths / 10.4 GiB -- devShellToolingInputs and the
commonShellEnv string interpolations drag JDK/Bazel, the Swift toolchain,
the Android SDK/NDK and jsign into a shell that only runs flatpak-builder),
`.#flatpak` again inside the debian:12-slim sandbox with its own fresh /nix,
and then the default `.#` shell (568 paths / 14.5 GiB, plus 7 derivations
built at job time) for a single `rclone copy` (KSE-0186 D2). flatpak-builder
+ ostree themselves take ~1.5 min.

- flake.nix: `devShells.flatpak-ci` is now a dedicated minimal shell (the
  tools Scripts/release/build-flatpak-arch-repo-ci.sh and
  Scripts/build-flatpak-testing-repo{,-docker}.sh actually exec: flatpak,
  flatpak-builder, bubblewrap, ostree, xdg-dbus-proxy, appstream,
  desktop-file-utils, gnupg, age, rclone, jq, git, curl, core utils) without
  devShellToolingInputs/commonShellEnv. Measured on the forge:
  1.45 GiB (353 paths) vs 10.36 GiB for `.#flatpak`. `.#flatpak` itself is
  unchanged (Build (Linux) still needs Bazel from it).
- The arch-repo scripts use `.#flatpak-ci` for the GPG materialise, the
  in-sandbox build/ostree calls, the direct-path build, and the rclone
  upload; Merge (Flatpak Repo), Build (Linux)'s upload and publish-flatpak's
  download use `.#flatpak-ci` for rclone instead of `.#`.

Expected: x86_64 leg ~39 min -> single-digit minutes once the sandbox
shares the host store (next slice); ~7x less NAR traffic from nix.key.store
per leg immediately.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
key-store/key.store!52
No description provided.