Skip to content
Hotrail

Docs

Channels

A channel is a named line that points at one bundle. Learn how Hotrail channels, bundles and compatibility work.

Bundles and channels

A bundle is one immutable upload of your web build. Each bundle has a version and a four character headcode such as 2K47. A channel points at one bundle at a time and remembers the previous one.

New apps start with a production channel. Create more, such as staging or beta, in the console.

Upload does not release

Uploading only stores the bundle. No device receives it until you release it to a channel. This lets you upload from CI and release by hand.

bash
npx @buffersol/hotrail upload
npx @buffersol/hotrail release --channel staging --bundle 2K47

Native compatibility

Each upload records a native fingerprint of your project. Run native register after every store release so Hotrail knows which store builds exist. A bundle is only offered to store builds it is compatible with. The release command lists any store builds that were skipped and why.

bash
npx @buffersol/hotrail native register --build 41 --platform ios

Checking state

The status command lists each channel with its bundle, rollout percent and whether it is live, rolling out, paused or idle.

bash
npx @buffersol/hotrail status