This repository hosts signed release artifacts for the Apollo Hub server software.
- Source code lives in the private ApolloHubAndApp monorepo.
- Releases here contain the built Python wheel (
apollo_hub-<version>-py3-none-any.whl) plus release notes and a SHA256 hash.
Deployed Apollo Hubs check this repo's latest release on a daily schedule and show an update banner in the Apollo app when a newer version is available. You never need to interact with this repo directly — the hub and app handle everything.
- On each release, a new tag (
vX.Y.Z) is created and a wheel is attached as a release asset. - Hubs hit
GET /repos/ApolloAutomation/apollo-hub-releases/releases/latestonce per day. - If the release is newer than the installed version, the hub caches the release info and the app shows an update banner.
- An admin taps Install in the app. The hub downloads the wheel, verifies its
SHA256:(published in the release body), exits, andpip installs the new wheel via a detached runner. systemd restarts the service on the new version. - The previous wheel stays on disk so an admin can Roll back from the app if an update causes trouble.
Each release body must end with the SHA256 of the attached wheel on its own line, e.g.:
Fixes a bug in the automation engine that could cause a stall
when two triggers fire within the same millisecond.
SHA256: 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
The Apollo Hub parses that line to verify the downloaded wheel before installing. Releases missing a valid SHA256 line are ignored.
Cut a release from the ApolloHubAndApp repo:
cd ApolloHub
./scripts/release.sh 0.2.0This bumps the version, builds the wheel, computes the hash, creates the tag, and publishes the release here via gh release create.