Skip to content

packaging: publish a cross-repository compatibility and release BOM #2115

Description

@codeforester

Goal

Publish one machine-readable compatibility and provenance record for every coordinated Base ecosystem release.

Background

Base, base-cli, base-bash-libs, and base-demo each have strong local release checks, but they consume a mixture of released versions, pinned commits, and explicit moving-source overrides. A local Base run against the current base-cli checkout exposed JSON and documentation contract drift that does not occur when hosted CI uses the pinned provider. Users need to see which repository versions and platform combinations were actually validated together.

Scope

  • Define a versioned release BOM schema for Base, base-cli, base-bash-libs, and base-demo.
  • Record exact version, commit, tag or source mode, API/schema contract version, platform, and validation result for each component.
  • Generate the BOM during coordinated release validation and attach it as a release artifact.
  • Add a compatibility matrix for supported released combinations and explicitly label development source-provider combinations.
  • Make Base and base-demo consume or validate the BOM rather than repeating unstructured pins only in prose.
  • Link the BOM to the release changelog and migration notes when a combination changes.

Acceptance Criteria

  • A documented schema exists with example valid and invalid records.
  • A coordinated release produces a BOM containing exact commit identity for all four repositories.
  • CI fails when a declared supported combination is not tested or when a release pin is inconsistent with the BOM.
  • Moving-source development mode is represented separately from supported release mode.
  • The generated artifact is deterministic and includes enough information to reproduce the validation inputs.
  • A release reader can identify the supported Base, base-cli, and base-bash-libs combination without inspecting four repositories manually.

Validation

  • Add schema and generation tests, including mismatched version and commit fixtures.
  • Rehearse generation from the current release pins without publishing a release.
  • Validate the BOM in Base and base-demo workflows.
  • Verify the artifact is stable after normalizing timestamps and workspace paths.
  • git diff --check.

Non-Goals

  • Do not make every moving branch mutually compatible.
  • Do not replace each repository individual release policy.
  • Do not require a hosted service or telemetry to read the BOM.

Project Fields

  • Status: Backlog
  • Priority: P1
  • Size: M
  • Area: Packaging
  • Initiative: Contract Hardening

Ownership

Related: #1620, #1613, #2109.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

ciContinuous integration, tests, automation, or release workflows

Type

No type

Projects

  • Status
    Backlog

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions