The release payload is designed for both humans and automation.
Release archives are built through GoReleaser and the tag-driven GitHub Actions release workflow.
Binary release targets:
linux/amd64linux/arm64darwin/amd64darwin/arm64windows/amd64
bering_<version>_<os>_<arch>.tar.gzbering_<version>_windows_amd64.zipbering_<version>_<os>_<arch>.sbom.jsonbering_<version>_checksums.txtbering-contracts_<version>.tar.gzcontracts-manifest.jsoncontracts-manifest.schema.jsoncharts/bering-<chart-version>.tgzchart-metadata.jsonoci-image-manifest.jsonrelease-checksums.txtrelease-manifest.jsonrelease-manifest.schema.jsonrelease-notes.md
Canonical machine-readable summary of the release. Downstream systems should prefer this over scraping GitHub Releases.
Fields include:
- product name
- app version
- git commit and build date
- binary archive metadata
- OCI image tags and digest
- Helm chart package metadata
- owned contract versions and digests
- release notes summary fields for automation
Records the OCI image repository, tags, published digest, and platforms. This is the source that release-manifest.json imports for image metadata.
Records the chart package path, chart version, app version, package digest, and published OCI reference when available.
Records the public schema contract names, versions, canonical URIs, and digests generated from repo sources.
The contracts pack now carries a versioned schema tree such as:
schema/model/v1.0.0/model.schema.jsonschema/model/v1.1.0/model.schema.jsonschema/snapshot/v1.0.0/snapshot.schema.jsonschema/snapshot/v1.1.0/snapshot.schema.json
Stable SHA-256 manifest for the generated release files in dist/.
Automation should:
- Download
release-manifest.json. - Validate it against
release-manifest.schema.json. - Resolve desired binaries, chart package, image references, or schema contracts from the manifest.
- Use
release-checksums.txtto verify the file assets. - Use the OCI digest fields for immutable runtime deployment references.