Nucleus has built in support for staged rollouts on some platforms. Currently
we support Staged Rollouts on darwin and win32.
Linux support for staged rollouts is unlikely to ever happen, you should take this into account when shipping new releases. As soon as you release new linux updates, 100% of your users will be eligible to get them regardless of your rollout setting.
By default all versions will have a 0% rollout (with the exception of the
first version for any channel, that will have a 100% rollout). You can
update the rollout for any version by navigating to it in the Nucleus UI
and clicking Edit next to the rollout percentage.
NOTE: You can't update the rollout of some versions due to restrictions imposed by the [Latest Releases](Latest Releases.md) feature. See that doc for more information
The non-staged version of the RELEASES.json file for macOS can be found at a
path that looks something like this:
/:appSlug/:channelId/darwin/:arch/RELEASES.json
If you want to use staged rollouts, you just need to add a rollout percentage
before RELEASES.json. The percentage must be an integer number between
0 and 100 inclusive. Any other number will cause a 404 and result in broken
updates. It MUST be an integer. For example a valid staged update URL
would be:
/:appSlug/:channelId/darwin/:arch/47/RELEASES.json
You should generate the staged rollout numbebr to use client side in your application.