Release Hierarchy
Garden Linux uses a three-tier release hierarchy to deliver a complete operating system:
1. Package Releases
Individual software packages are built and versioned in package-* repositories (e.g., package-containerd, package-curl). Each package has its own releases cycle and versioning. Release cycles might even differ between Garden Linux Major OS Releases.
Types:
mainbranch: Might be updated automatically if upstream sources change.rel-*branches: Updated manually for new Garden Linux Major OS Releases.
Managed by: Individual package-* repositories
Documentation:
- Explanation: Garden Linux Packaging - This document explains how Garden Linux packages are built using the tools in the
package-buildrepository and how they fit into the broader packaging ecosystem. - How-To: Packaging - Overview how to use the Garden Linux Package Build System
2. APT Repository Releases
Collections of packages assembled into APT repositories. These repositories contain both custom-built packages and dependencies from Debian snapshots.
Types:
- Nightly releases: Automatically generated daily (e.g.,
2150.0.0) - Minor releases: Manually created for specific updates (e.g.,
2150.1.0,2150.2.0)
Managed by: gardenlinux/repo repository
Documentation:
- Explanation: Garden Linux Repository Infrastructure - Understand how Garden Linux assembles, distributes, and releases packages through its repository infrastructure
- How-To: Creating APT Repository Releases - Comprehensive guide to creating releases for Garden Linux APT repositories
3. Operating System Image Releases
Complete Garden Linux operating system images built by consuming an APT repository. These are the final artifacts that users deploy.
Types:
- Major/Stable releases: New versions based on new Debian snapshots (e.g.,
2150.0.0) - Minor releases: Updates to existing major versions (e.g.,
2150.1.0)
Managed by: gardenlinux/gardenlinux repository
Documentation:
- Explanation: OS Releases - Understand what Garden Linux OS Releases are
- How-To: Creating OS Releases - Comprehensive guide to creating Garden Linux OS major and minor releases
Release Flow Diagram
flowchart TD
A[Package Releases] --> B[APT Repository]
B --> C[OS Images]
A1[package-containerd v1.7.14] --> B
A2[package-linux 6.6.13] --> B
A3[package-openssh 9.6p1] --> B
B1[Nightly: 2150.0.0] --> C
B2[Minor: 2150.1.0] --> C
C1[Major Release: 2150.0.0]
C2[Minor Release: 2150.1.0]
B --> C1
B --> C2