Skip to content

feat(release): remove release channels from the release pipeline - #179

Merged
rldyourmnd merged 4 commits into
mainfrom
feat/remove-release-channels
Sep 19, 2026
Merged

rldyourmnd merged 4 commits into
mainfrom
feat/remove-release-channels

Conversation

@rldyourmnd

Copy link
Copy Markdown
Contributor

Summary

Removes release channels (canary/stable/frozen/development) from the release pipeline per ADR 0038. Release identity is the exact gds-v<version> tag, monotonic sequence, artifact/manifest digests, SBOM and attestation; release_sequence == 0 classifies development projections.

  • bundle.Build, gds-release-builder and the release-candidate command no longer take a channel or harness evidence; every release must build from its exact tag.
  • release-bundle.yml now runs on pushes to main: a privileged resolve job derives the next patch version and sequence from the latest published release-envelope.json over the GitHub API — no candidate checkout — creates the tag, and hands the exact identity to the unprivileged build job.
  • Harness evidence remains a separately produced/verified estate/runtime signal (core/harnessevidence, module release evidence); it gates adoption, not publication, and no device signing key enters the release path.
  • channel/allowed_channels/default_bundle_channel become optional decode-compatible fields for documents produced while they existed; a legacy channel is still checked against a consumer policy that lists it. The signed harness-evidence manifest payload keeps channel optional so already-signed manifests still re-digest.
  • Schemas, fixtures, golden projections, contracts and runbooks updated; the development lock is restamped over the committed source tree.

Test plan

  • go test ./... — green on the committed tree (context/assurance/cli provenance tests verify committed lock consistency)
  • scripts/validate_python.sh — 70 passed
  • scripts/validate_shell.sh — PASS (8 scripts, shellcheck 0.11.0)
  • scripts/validate_go_core.sh --quick — all modules verified
  • Workflow contract test asserts no channel/evidence inputs and no candidate checkout in the privileged resolve job
  • First main push after merge is expected to publish gds-v0.9.8 automatically — verify resolve→build→attest→publish end to end

Release identity is the exact gds-v<version> tag, monotonic sequence,
artifact and manifest digests, SBOM and attestation (ADR 0038). Channel
fields stay optional for decoding documents produced while the field
existed; a legacy channel is still checked against a consumer policy
that lists it.

- bundle.Build and gds-release-builder no longer take a channel or
  harness evidence, and every release must build from its exact tag.
- release_sequence alone classifies a bundle: 0 is a development
  projection, >= 1 is a release.
- the release workflow runs on pushes to main; the privileged resolve
  job derives the next version and sequence from the latest published
  envelope over the GitHub API without checking out candidate source,
  creates the tag, and hands the identity to the unprivileged build.
- harness evidence remains a separately produced and verified
  estate/runtime signal; it gates adoption, not publication.
- default_bundle_channel is removed from the estate schema and example.
The workflow step that materialized signed harness evidence into the
release build was removed with the channel gate; the file tested only
that step.
main repointed the caller to NDDev-OpenNetwork/ci-workflows in 3125062
but left the pin regex expecting the old github-actions path.
@rldyourmnd
rldyourmnd force-pushed the feat/remove-release-channels branch from 7d9fa06 to 17db8ed Compare September 19, 2026 19:03
@rldyourmnd
rldyourmnd merged commit 7909590 into main Sep 19, 2026
8 checks passed
@rldyourmnd
rldyourmnd deleted the feat/remove-release-channels branch September 19, 2026 19:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant