Skip to content

feat(snap): Snap Store packaging - #4

Merged
Nozzit merged 1 commit into
OpenAEC-Foundation:mainfrom
Nozzit:snap-packaging
Jul 30, 2026
Merged

feat(snap): Snap Store packaging#4
Nozzit merged 1 commit into
OpenAEC-Foundation:mainfrom
Nozzit:snap-packaging

Conversation

@Nozzit

@Nozzit Nozzit commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds snap/snapcraft.yaml + .github/workflows/snap.yml, same pattern as open-planner-studio: re-packages the already-published release .deb instead of rebuilding, triggered on completion of Build and Release.
  • Publishing to the Snap Store only happens once SNAPCRAFT_STORE_CREDENTIALS is set as a repo secret.
  • Snap name: openaec-installer.

⚠️ Two things to check before this is actually useful

  1. Name not registered yet. Nobody has registered openaec-installer on snapcraft.io — needs to happen before the publish step can do anything.
  2. Confinement risk, worth flagging explicitly. This app's whole job is installing, updating, and launching other OpenAEC desktop apps. A strict-confined snap is sandboxed and generally cannot invoke arbitrary other executables outside its own snap, write anywhere it wants on the filesystem, or manage other installed packages — which may conflict with the installer's core purpose, depending on exactly how it does the installing/launching today (its package.json/Cargo.toml only declare plugin-opener + plugin-store, so the actual install/launch logic likely lives in custom Rust code I haven't audited). Recommend testing the real installed-snap behavior (not just "does it launch") before publishing to stable — if installing/launching other apps doesn't work under strict confinement, confinement: classic is the alternative, but that requires manual Snap Store review approval on every release (much slower iteration).

Test plan

  • Register openaec-installer on snapcraft.io.
  • Merge, then run a workflow_dispatch test build against an existing tag (e.g. v0.2.0).
  • Install the resulting snap and actually exercise the install/update/launch flow for another OpenAEC app, not just confirm the window opens — this is the part strict confinement could break.
  • If that works: add SNAPCRAFT_STORE_CREDENTIALS (via snapcraft export-login --snaps=openaec-installer --channels=stable) and re-run against the real release tag to publish.
  • If it doesn't work: revisit confinement: classic before publishing further.

🤖 Generated with Claude Code

Zelfde patroon als de andere OpenAEC-apps: repakt de gepubliceerde
release-.deb i.p.v. opnieuw bouwen.

Let op: de snapnaam `openaec-installer` is nog niet geregistreerd op
snapcraft.io. Belangrijker risico: deze app installeert/start ándere
OpenAEC-tools buiten zijn eigen sandbox — dat kan botsen met
`confinement: strict`. Zie de PR-omschrijving.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@Nozzit
Nozzit merged commit 7f2beea into OpenAEC-Foundation:main Jul 30, 2026
3 checks passed
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