forked from stellar/stellar-cli-docker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuilds.schema.json
More file actions
82 lines (82 loc) · 3.49 KB
/
Copy pathbuilds.schema.json
File metadata and controls
82 lines (82 loc) · 3.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
{
"$comment": "JSON Schema for builds.json. Each rust_versions[] entry is a fully-qualified rust base pin, '<rust_base_key>@<image_digest>', so a release records the exact base it was built against. The same label may appear with two different digests across (or within) releases; builds.json keeps the full history, but only the newest pin per label is published, under a label-only tag.",
"$id": "https://github.com/stellar/stellar-cli-docker/builds.schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"definitions": {
"git_sha": {
"description": "Full 40-character git commit SHA.",
"pattern": "^[0-9a-f]{40}$",
"type": "string"
},
"rust_pin": {
"description": "A fully-qualified rust base pin: the composite rust base key (rust toolchain version + upstream rust:<v>-<suffix> tail, e.g. 1.94.0-slim-trixie) joined to the pinned multi-arch index digest with '@'. Example: 1.94.0-slim-trixie@sha256:<64 hex>.",
"pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+-[a-z][a-z0-9-]*@sha256:[0-9a-f]{64}$",
"type": "string"
},
"semver": {
"description": "stellar-cli release version, major.minor.patch.",
"pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$",
"type": "string"
}
},
"properties": {
"$comment": {
"type": "string"
},
"$schema": {
"type": "string"
},
"default_distro": {
"description": "Debian codename used to compose the upstream rust image suffix (slim-<codename>). Drives the picker in scripts/release-prepare.sh and the :<cli> / :latest alias derivation.",
"enum": [
"bookworm",
"trixie"
],
"type": "string"
},
"stellar_cli_versions": {
"description": "Each stellar-cli release we publish images for, with its explicit rust base pairings.",
"items": {
"additionalProperties": false,
"properties": {
"cli_rust_version": {
"$ref": "#/definitions/rust_pin",
"description": "Fully-qualified rust base pin (<rust_base_key>@<image_digest>) to build this stellar-cli release - not the same as the rustc used to compile contracts"
},
"ref": {
"$ref": "#/definitions/git_sha",
"description": "Upstream stellar/stellar-cli git commit SHA for this release. Source of truth; version is metadata."
},
"rust_versions": {
"description": "Append-only list of fully-qualified rust base pins (<rust_base_key>@<image_digest>) this stellar-cli release was ever built against. Refreshes append the picker's freshly-resolved pins; previously-published pins are retained so the file stays consistent with the immutable tags in the registry. The same label may appear more than once with distinct digests (e.g. a rebuilt base) \u2014 each pin is its own immutable image.",
"items": {
"$ref": "#/definitions/rust_pin"
},
"minItems": 1,
"type": "array",
"uniqueItems": true
},
"version": {
"$ref": "#/definitions/semver",
"description": "stellar-cli release version label, e.g. 26.0.0."
}
},
"required": [
"ref",
"rust_versions",
"version"
],
"type": "object"
},
"minItems": 1,
"type": "array"
}
},
"required": [
"default_distro",
"stellar_cli_versions"
],
"title": "stellar-cli-docker builds.json",
"type": "object"
}