Versioning & Release StrategyΒΆ

OverviewΒΆ

Bunker-Centric Architecture uses a multi-dimensional versioning strategy that abstracts complexity across three key axes:

  1. Yocto LTS Version: Long-term support Yocto releases (e.g., scarthgap, wrynose)

  2. BCA Release Version: Semantic versioning tied to Yocto LTS support

  3. Build Configuration: Development, production, and custom flavors

  4. Platform Support: Hardware-specific support

This approach allows Bunker-Centric Architecture to:

  • Abstract vendor BSP versions and updates

  • Maintain stable, production-ready releases only

  • Support multiple Yocto LTS versions simultaneously

  • Provide clear upgrade paths

Semantic VersioningΒΆ

Bunker-Centric Architecture follows Semantic Versioning (SemVer):

X.Y.Z

Where:
X = MAJOR: New Yocto LTS support
Y = MINOR: New features, platform support, vendor BSP updates
Z = PATCH: Bug fixes, security patches

MAJOR (X) - New Yocto LTS Support:

  • Triggered when supporting a new Yocto LTS release

  • May include significant infrastructure or architecture changes

  • Example: scarthgap-1.x.x β†’ wrynose-2.x.x

  • Devices can update, but careful planning recommended

MINOR (Y) - Platform and Feature Updates:

  • New hardware platform support

  • Vendor BSP updates (e.g., Vendor releases BSP x.x)

  • New features compatible with current Yocto LTS

  • Security enhancements

  • Example: scarthgap-1.5.0 β†’ scarthgap-1.6.0

PATCH (Z) - Bug Fixes and Security Patches:

  • Security vulnerability fixes

  • Bug fixes

  • No feature additions

  • Fully backward compatible

  • Example: scarthgap-1.5.0 β†’ scarthgap-1.5.1

Repository StructureΒΆ

Branch Naming Convention: {yocto-name}-{major}.x.y

Examples:

scarthgap-1.x.y    # Current development branch for scarthgap support
wrynose-2.x.y      # Next Yocto LTS (wrynose) support

Tag Naming Convention: {version}

Examples:

1.0.0              # Release on scarthgap (from branch scarthgap-1.x.x)
1.1.0              # New platform support
1.1.1              # Patch release
2.0.0              # New major version (next Yocto LTS)

Yocto LTS Compatibility MatrixΒΆ

BCA officially supports Yocto LTS releases only. This ensures production-grade stability and long-term maintenance.

Supported Yocto LTS VersionsΒΆ

Yocto LTS

BCA Version

Release Date

EOL (Life Cycle)

scarthgap (current)

1.x.y

Q1 2026

2028-04

wrynose (upcoming)

2.x.y

Q3 2026

2030-04

older LTS

0.x.y (archived)

Pre-2026

No longer supported

Yocto Schedule Reference:

For Yocto LTS release dates and support timelines, see the Yocto Project roadmap.

Build System IntegrationΒΆ

KAS Configuration:

KAS (Kas Automated Setup) manages the build configuration matrix. Each BCA release includes KAS recipes for supported platforms and configurations:

# Build production image for 'machine'
kas build <machine-conf-yml>

# Build custom QEMU image
kas build qemu.yml

Version Locking:

All versions are pinned in the repository to ensure reproducible builds:

# kas/common.yml

repos:
  meta-bunker:
    url: <git-remote>/meta-bunker.git
    branch: scarthgap-1.x.y
    commit: abc123def456

  meta-openembedded:
    url: https://github.com/openembedded/meta-openembedded.git
    branch: scarthgap
    commit: xyz789uvw012

Software Bill of Materials (SBOM) & CVE AnalysisΒΆ

Each BCA release includes comprehensive vulnerability and supply chain information.

SBOM (Software Bill of Materials):

Complete list of all software components, versions, and licenses included in your build.

CVE (Common Vulnerabilities and Exposures):

Analysis of known vulnerabilities in dependencies with:

  • Severity level

  • Mitigation status

  • Patch availability

Generating SBOM and CVE Analysis:

Use Yocto tools and Accelerat utilities. For detailed instructions, see SBOM Generation and CVE Analysis

Getting Access to ReleasesΒΆ

Public Releases:

General documentation and architecture guides are publicly available in this documentation.

Customer Releases:

Stable releases, build systems, and proprietary BSPs are available through the Customer Hub (requires account).

Next StepsΒΆ