BUILD-11458 Add release channel pointer JSON schema#272
Conversation
There was a problem hiding this comment.
Pull request overview
Introduces the v1 JSON Schema (draft-07) and accompanying README for the per-channel release pointer JSON that the future update-release-channel GitHub Action will publish to S3. This is a docs/schema-only change; action code, tests, and wiring (shellspec, sonar, root README index) intentionally land in follow-up tickets.
Changes:
- Adds
update-release-channel/schema/v1.jsondefining required fieldsschemaVersion(const 1),version(non-empty string), andreleased_at(date-time string with regex). - Adds
update-release-channel/schema/README.mddocumenting versioning policy, field reference, and validation plan.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| update-release-channel/schema/v1.json | New draft-07 JSON Schema for the release channel pointer document. |
| update-release-channel/schema/README.md | Documentation of schema versioning policy and field semantics. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
fa5e0c4 to
3910c5d
Compare
Author the JSON Schema (draft-07) for the per-channel pointer file written by the upcoming update-release-channel action to s3://<bucket>/<prefix>/<product>/<channel>.json. Required fields: - schemaVersion: const 1 - version: string - released_at: ISO-8601 / RFC 3339 UTC timestamp additionalProperties: true so future additive fields do not break v1 consumers. Schema lives at update-release-channel/schema/v1.json with a README documenting the versioning policy (filename + schemaVersion in lockstep, new file only for breaking changes). Validation against real action outputs lands with the writer unit tests (BUILD-11460) and the integration test workflow (BUILD-11461); no sample fixtures are checked in here. Part of epic BUILD-11447.
3910c5d to
8b9eb1f
Compare
|
Code Review ✅ Approved 1 resolved / 1 findingsIntroduces the JSON schema and versioning policy for release channel pointers to support upcoming automation. No issues found. ✅ 1 resolved✅ Edge Case: released_at pattern allows non-UTC offsets despite UTC requirement
OptionsAuto-apply is off → Gitar will not commit updates to this branch. Comment with these commands to change:
Was this helpful? React with 👍 / 👎 | Gitar |



BUILD-11458 — first task of epic BUILD-11447 (update-release-channel action for binary release channel pointers).
What
Adds the JSON Schema (draft-07) for the per-channel pointer JSON that the upcoming
update-release-channelaction will write tos3://downloads-cdn-eu-central-1-prod/<prefix>/<product>/<channel>.json.update-release-channel/schema/v1.json— schema definitionupdate-release-channel/schema/README.md— versioning policy and field referenceSchema shape
schemaVersion1)versionupdatedAtadditionalProperties: true— consumers MUST ignore unknown fields. This lets us add optional fields later (e.g. per-platform artifact URLs, signature metadata) without bumping the schema version. A new file (v2.json) is only introduced for non-backwards-compatible changes; the in-documentschemaVersionstays in lockstep with the filename.Path convention
Action directory lives at the repo root (
update-release-channel/) to match the existing convention in this repo (promote/,cache/,build-gradle/, ...). The spec mentioned.github/actions/update-release-channel/butCONTRIBUTE.mddocuments top-level placement.Validation
No sample fixtures are checked in. Validation against real action outputs lands with:
Both will pipe the dry-run JSON body through
check-jsonschemaagainstv1.json.Not in scope
Action code, workflows, README for the action, and pilot wiring — those land in the follow-up tickets (BUILD-11459 through BUILD-11464). Draft until those are at least in flight.