Skip to content

fix(stage-tamagotchi): stabilize Linux Flatpak/RPM packaging and releases - #2456

Open
0xSelenicDove wants to merge 1 commit into
moeru-ai:mainfrom
0xSelenicDove:0xSelenicDove/fix/linux-flatpak-rpm-packaging
Open

fix(stage-tamagotchi): stabilize Linux Flatpak/RPM packaging and releases#2456
0xSelenicDove wants to merge 1 commit into
moeru-ai:mainfrom
0xSelenicDove:0xSelenicDove/fix/linux-flatpak-rpm-packaging

Conversation

@0xSelenicDove

Copy link
Copy Markdown
Collaborator

Summary

Split off #2278 per maintainer feedback ("Too big, split."). Bundles the Linux packaging fixes:

  • Keep only the target architecture's native binaries (onnxruntime-node, uiohook-napi, electron-click-drag-plugin, sharp/libvips) in packaged builds instead of shipping every platform's payload, while fixing an extglob pattern that let the Sharp exclusion swallow the libvips package it needs to keep.
  • Add a package post-removal hook (deb/rpm) that only removes the update-alternatives target once the AIRI executable is actually gone, so an upgrade no longer leaves broken alternative links or strips /usr/bin/airi mid-upgrade.
  • Disable electron-updater under Flatpak, since Flatpak owns application installation/updates and must not let electron-updater select a DEB/RPM updater from inside the sandbox.
  • Add verify-linux-package.ts (+ CI step) to assert the built .deb/.rpm/Flatpak artifacts expose the expected executable and desktop launcher paths, and a Fedora RPM lifecycle check for install/upgrade/remove.
  • Give the Linux release build step a bounded 3 GB Node heap and a disk-backed temp directory (a 4 GB ARM64 runner previously exhausted both the default heap and tmpfs during packaging).

Rebased onto current main: kept main's package.json version and added the minimatch catalog entry needed by the new verification scripts; fixed linux-packaging.test.ts, which hardcoded an artifact filename version from when this branch was cut, to read the real package.json version instead.

Test plan

  • pnpm -F @proj-airi/stage-tamagotchi typecheck
  • pnpm exec eslint on the touched TS/JS files
  • pnpm -F @proj-airi/stage-tamagotchi exec vitest run on linux-packaging.test.ts, verify-linux-package.test.ts, auto-updater.test.ts (88 passed, 1 Linux-gated skipped on macOS)

🤖 Generated with Claude Code

…ases

Split from moeru-ai#2278. Bundles the Linux packaging fixes:

- Keep only the target architecture's native binaries (onnxruntime-node,
  uiohook-napi, electron-click-drag-plugin, sharp/libvips) in packaged
  builds instead of shipping every platform's payload, while fixing an
  extglob pattern that let the Sharp exclusion swallow the libvips
  package it needs to keep.
- Add a package post-removal hook (deb/rpm) that only removes the
  update-alternatives target once the AIRI executable is actually gone,
  so an upgrade no longer leaves broken alternative links or strips
  /usr/bin/airi mid-upgrade.
- Disable electron-updater under Flatpak, since Flatpak owns application
  installation and updates and must not let electron-updater select a
  DEB/RPM updater from inside the sandbox.
- Add verify-linux-package.ts (+ CI step) to assert the built .deb/.rpm/
  Flatpak artifacts expose the expected executable and desktop launcher
  paths, and a Fedora RPM lifecycle check for install/upgrade/remove.
- Give the Linux release build step a bounded 3 GB Node heap and a
  disk-backed temp directory (a 4 GB ARM64 runner previously exhausted
  both the default heap and tmpfs during packaging).

Rebased onto current main: kept main's package.json version and the
`minimatch` catalog entry needed by the new verification scripts; fixed
linux-packaging.test.ts, which hardcoded an artifact filename version
from when this branch was cut, to read the real package.json version
instead.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 3, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-03T05:41:53.923847Z 16ea9e5 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

⏳ Approval required for deploying to Cloudflare Workers (Preview) for stage-web.

Name Link
🔭 Waiting for approval For maintainers, approve here

Hey, maintainers, kindly take some time to review and approve this deployment when you are available. Thank you! 🙏

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