Releases publish the same source revision through three channels:
agentic-data-kernelon npm;ghcr.io/jason-doyle/agentic-data-kernelon GitHub Container Registry;- a GitHub Release containing the npm tarball and SHA-256 checksums.
The release workflow builds multi-architecture container images for
linux/amd64 and linux/arm64. npm packages published from the workflow carry
registry provenance. Container images include an SBOM and maximal provenance
and receive a GitHub artifact attestation. The GitHub release contains the npm
tarball, an SPDX npm SBOM, and SHA-256 checksums.
Release workflows are serialized. A tag is rejected when a newer tag already
exists in the same stable or prerelease channel, which prevents an older
release from moving latest or next backwards.
package.json is the source of truth for the version. A release tag must be
exactly v<package-version>, and its commit must be contained in main.
Prerelease versions receive:
- the npm
nextdistribution tag; - the container
nexttag; - a GitHub prerelease.
Stable versions receive the npm and container latest tags.
They also receive container tags for the full version, major/minor version, and
major version.
Consumers should pin exact versions in production even when a moving tag is available.
The repository uses npm trusted publishing through GitHub OIDC. The release
workflow must not receive NODE_AUTH_TOKEN or a long-lived npm token.
Verify the npm package settings before a stable release:
- Configure a GitHub Actions trusted publisher with:
- owner:
Jason-Doyle; - repository:
agentic-data-kernel; - workflow filename:
release.yml; - environment: none.
- owner:
- Confirm no
NPM_TOKENrepository secret is present. - Require two-factor authentication and disallow token-based publishing in the npm package settings.
The workflow uses npm 12 because trusted publishing requires a recent npm CLI.
GitHub Container Registry may create the first image as private. After the first workflow completes:
- Open the
agentic-data-kernelcontainer package settings under theJason-Doyleaccount. - Confirm it is linked to this repository.
- Change its visibility to public.
- Verify an unauthenticated pull of the exact version tag.
Package visibility is a one-time registry setting and is not changed by the workflow.
-
Update the version without creating a tag:
npm version <version> --no-git-tag-version
-
Update:
CHANGELOG.md;- the release version in
README.md; AGENTIC_DATA_IMAGEin.env.example.src/version.ts;- Helm
appVersionand deployment example image tags.
-
Run:
npm run release:check npm run deployment:check npm run benchmark:sre:verify .\scripts\test-backup-restore.ps1 docker compose --env-file .env.example config --quiet docker build --tag agentic-data-kernel:release-check . docker run --rm agentic-data-kernel:release-check ` node dist/production/cli.js --help
-
Merge the release pull request to
main. -
Confirm CI and CodeQL pass on the merge commit.
-
Confirm the repository has no open Dependabot alerts.
-
Create and push an annotated tag:
git switch main git pull --ff-only origin main git tag -a v<version> -m "Release <version>" git push origin v<version>
The tag starts .github/workflows/release.yml. The GitHub Release is created
only after all tag-SHA gates, npm publication, and container publication
succeed. Do not create a beta or release-candidate tag for the 1.0 graduation.
For a stable release:
npm view agentic-data-kernel@latest version
npm view agentic-data-kernel@<version> dist.attestations
docker pull ghcr.io/jason-doyle/agentic-data-kernel:<version>
docker pull ghcr.io/jason-doyle/agentic-data-kernel:<major>.<minor>
docker pull ghcr.io/jason-doyle/agentic-data-kernel:<major>
docker pull ghcr.io/jason-doyle/agentic-data-kernel:latest
gh release view v<version> --repo Jason-Doyle/agentic-data-kernelConfirm:
- npm
latestresolves to the exact version and its provenance references the release workflow and tag commit; - all four container tags resolve to the same multi-architecture digest;
- the image supports
linux/amd64andlinux/arm64; - the container SBOM and GitHub attestation are present;
- the release tarball and SPDX SBOM match
SHA256SUMS; - the GitHub release targets the exact signed or annotated tag.
After 1.0.0 is verified, deprecate every npm version below 1.0.0:
npm deprecate "agentic-data-kernel@<1.0.0" `
"Unsupported prerelease. Upgrade to agentic-data-kernel@^1.0.0."Confirm the deprecation notice is visible on an older published version.