Skip to content

feat(release-manifest): add the release.json schema - #129

Merged
zgeoff merged 1 commit into
mainfrom
feat/release-manifest-schema
Oct 16, 2026
Merged

zgeoff merged 1 commit into
mainfrom
feat/release-manifest-schema

Conversation

@zgeoff

@zgeoff zgeoff commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Contributes to GEO-1058

Description

Adds @zgeoff/release-manifest, a draft 2020-12 JSON Schema for the release.json that a release publishes, so each publishing repo and its deployment check one shape.

  • format, version, tag and commit are required. images, sandboxImages, migrations and configSchema are optional, so a release that ships only binaries also fits.
  • The top level and every section are closed. A new section is a change to this package.
  • The schema uses pattern, not format, so every draft 2020-12 validator gives the same result.
  • The package is new, so its first npm publish is manual (scripts/first-publish.sh release-manifest).

Acceptance evidence

  • Schema and tests: packages/release-manifest/release.schema.json. 13 tests run in strict Ajv. 4 accept valid manifests, and 9 reject malformed ones (bun test packages/release-manifest: 13 pass).
  • Current manifests:
Repo Latest release release.json Result
zgeoff/nixie v0.28.0 published (sha256 d1c1476f…77db6) valid
zgeoff/impz v2.0.3 not yet published (0 of 77 releases) checked on adoption
zgeoff/auto-mode auto-mode-v0.21.0 not yet published (0 of 28 releases) checked on adoption
zgeoff/atc @zgeoff/atc@4.10.0 not yet published (0 of the latest 100 releases) checked on adoption

Review

  • Local review: codex review --base main reported no findings.
  • CodeRabbit: rate-limited, no review.

Testing

  • bun run typecheck passes (package tsc, CI pr / checks green)
  • bun run test passes (package tests, plus the pre-push hook)
  • bun run lint passes (pre-commit hook)
  • New tests added for new functionality

One JSON Schema for the release.json that a release publishes, so every
publishing repo and its deployment check one shape. format, version, tag
and commit are required. images, sandboxImages, migrations and
configSchema are optional and closed, and an unknown field fails.
@coderabbitai

coderabbitai Bot commented Oct 16, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

Next included review available in 12 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available. Your 100 included PR review attempts over the past 7 days set your current allowance at 1 review per hour.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: Repository: zgeoff/coderabbit/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Essentials
  • Run ID: 56e0f053-fcb4-4962-94ff-59411c698b3d
📥 Commits

Reviewing files that changed from the base of the PR and between b34db06 and 894d4b7.

⛔ Files ignored due to path filters: 1
  • bun.lock is excluded by !**/*.lock, !bun.lock
📒 Files selected for processing: 8
  • package.json
  • packages/release-manifest/LICENSE
  • packages/release-manifest/README.md
  • packages/release-manifest/package.json
  • packages/release-manifest/release.schema.json
  • packages/release-manifest/release.schema.test.ts
  • packages/release-manifest/tsconfig.json
  • release-please-config.json
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@zgeoff
zgeoff merged commit 3b0382a into main Oct 16, 2026
3 checks passed
@zgeoff
zgeoff deleted the feat/release-manifest-schema branch October 16, 2026 05:05
@zgeoff-release-bot zgeoff-release-bot Bot mentioned this pull request Oct 16, 2026
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