Release channels and UBOS release process
/docs/development/buildrelease/
Channels and promotions
The following diagram shows the UBOS build and release process graphically:
UBOS Linux is a derivative of Arch Linux:
-
Most packages on UBOS Linux are identical to those on Arch Linux.
-
We recompile some packages, such as
mariadb
, in order to enable Devices to store large data files on a/ubos
partition, rather than/var
. This makes the management of Personal Servers simpler. -
Some other packages are unique to UBOS Linux, such as the packages that form UBOS Gears and UBOS Mesh.
As the Arch Linux project releases
new Packages, the subset
relevant to UBOS is staged in the UBOS dev
channel. We do this separately for each
Arch, including x86_64
and aarch64
.
Other Packages that are part of UBOS but not (currently) part of Arch Linux, are also
staged in the dev
channel. This includes:
- administrative Packages, such as
ubos-admin
; - Packages that UBOS distributes but Arch Linux does not, like
pagekite
.
The UBOS team then tests the Packages in the dev
channel. This is the only
intended use of the dev
channel; App developers and users should never directly
interact with the dev
channel.
When the Packages in the dev
channel have passed certain tests and are considered to
be sufficiently stable, they are promoted into the UBOS red
channel.
The red
channel is only used by developers, not end users, and can be compared
to traditional “alpha”-quality software. App developers use the red
channel to make sure their Apps continue to work with upcoming UBOS upgrades.
When the Packages on the red
channel is sufficiently stable and the
Apps on the red
channel pass their automated tests, they are promoted to the
yellow
channel.
The yellow
channel is similar to traditional “beta”-quality software, and is typically
used both by developers and friendly end users.
Once the yellow
channel is sufficiently stable, the Packages will be promoted
to the green
, aka production channel, where they become generally available to
all UBOS users.