Skip to main content

OTA Release Channels

All three channels, dev, staging, and prod, can be selected explicitly in the Aiden Channel Release workflow. The primary build workflow also checks main hourly and publishes changed content to the fixed dev channel; staging and prod remain manual. See Channel Releases for classification, version allocation, contracts, repository setup and retries.

ChannelGitHub release typeDevice discovery
devPrereleaseHighest dev OTA version
stagingPrereleaseHighest staging OTA version
prodNormal releaseHighest prod OTA version

Each channel compares against its own previous successful release. Business-only changes publish a .deb; system changes publish signed boot/rootfs OTA images and establish a new platform contract. Package-only releases are skipped during firmware discovery. Only prod OTA releases update GitHub Latest.

The factory config at /userdata/debian/ota/config.json carries repo and channel. Managed devices query the release list, select their channel's highest OTA version, and verify that the signed manifest matches the configured channel. This check also applies to explicit --manifest-url overrides.

Legacy devices with no channel, or old local/stable channel labels, continue to use /releases/latest. Flash a channel's full image to provision the new base and its channel config. Do not edit the contract file to make a package install; its contents describe the system that was actually built and installed.

Custom static distribution remains available through manifest_url; use a test device configured for that custom source. See External Developer Guide.