Build and release process


Channels and promotions

The following diagram shows the UBOS build and release process graphically:

Build and release process

UBOS is a derivative of Arch Linux. 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, armv6, armv7 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.