@ship.zone/ci-spec 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/changelog.md +18 -0
  2. package/conformance/compile-cases.json +2 -2
  3. package/conformance/runner-job-cases.json +703 -0
  4. package/conformance/runner-job-cases.schema.json +134 -0
  5. package/conformance/runner-jobs/incoherent/artifact-maximum-above-limit.json +91 -0
  6. package/conformance/runner-jobs/incoherent/build-secret-unknown-target.json +104 -0
  7. package/conformance/runner-jobs/incoherent/cache-count-above-limit.json +91 -0
  8. package/conformance/runner-jobs/incoherent/environment-above-limit.json +206 -0
  9. package/conformance/runner-jobs/incoherent/plan-digest-mismatch.json +70 -0
  10. package/conformance/runner-jobs/incoherent/precedence-limit-before-digest.json +70 -0
  11. package/conformance/runner-jobs/incoherent/reserved-prefix-environment.json +71 -0
  12. package/conformance/runner-jobs/incoherent/reserved-prefix-secret-target.json +72 -0
  13. package/conformance/runner-jobs/incoherent/reserved-variable-missing.json +69 -0
  14. package/conformance/runner-jobs/incoherent/reserved-variable-not-canonical.json +70 -0
  15. package/conformance/runner-jobs/incoherent/secret-target-environment-duplicate.json +72 -0
  16. package/conformance/runner-jobs/incoherent/secret-target-without-build-secret.json +101 -0
  17. package/conformance/runner-jobs/incoherent/secret-value-too-short.json +72 -0
  18. package/conformance/runner-jobs/incoherent/shared-memory-above-memory.json +71 -0
  19. package/conformance/runner-jobs/incoherent/source-above-limit.json +70 -0
  20. package/conformance/runner-jobs/invalid/artifacts-feature-missing.json +91 -0
  21. package/conformance/runner-jobs/invalid/artifacts-none-permission.json +91 -0
  22. package/conformance/runner-jobs/invalid/build-without-push-permission.json +100 -0
  23. package/conformance/runner-jobs/invalid/read-write-cache-read-permission.json +91 -0
  24. package/conformance/runner-jobs/invalid/source-feature-missing.json +70 -0
  25. package/conformance/runner-jobs/invalid/vm-without-platform.json +81 -0
  26. package/dist_ts/00_commitinfo_data.js +1 -1
  27. package/dist_ts/constants.d.ts +42 -0
  28. package/dist_ts/constants.js +57 -1
  29. package/package.json +4 -2
  30. package/readme.md +13 -4
  31. package/spec/runner-protocol.md +31 -1
  32. package/spec/runner.openapi.json +1 -1
  33. package/ts/00_commitinfo_data.ts +1 -1
  34. package/ts/constants.ts +65 -0
@@ -0,0 +1,134 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://ship.zone/spec/ci/conformance/runner-job-cases.schema.json",
4
+ "title": "ship.zone compiled runner job coherence vectors",
5
+ "description": "Conformance vectors for compiled runner job coherence: the job failure codes in precedence order and cases that bind a compiled job, with its secret values inserted, to coherent or to the expected job failure code.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "spec",
10
+ "failureCodes",
11
+ "cases"
12
+ ],
13
+ "properties": {
14
+ "spec": {
15
+ "$ref": "../schemas/runner-job.schema.json#/$defs/specVersion"
16
+ },
17
+ "failureCodes": {
18
+ "description": "Every job failure code in the precedence order of spec/runner-protocol.md, Job Coherence.",
19
+ "type": "array",
20
+ "minItems": 1,
21
+ "uniqueItems": true,
22
+ "items": {
23
+ "$ref": "#/$defs/failureCode"
24
+ }
25
+ },
26
+ "cases": {
27
+ "type": "array",
28
+ "minItems": 1,
29
+ "items": {
30
+ "$ref": "#/$defs/jobCase"
31
+ }
32
+ }
33
+ },
34
+ "$defs": {
35
+ "identifier": {
36
+ "$ref": "../schemas/runner-job.schema.json#/$defs/identifier"
37
+ },
38
+ "failureCode": {
39
+ "enum": [
40
+ "spec_incompatible",
41
+ "job_schema_invalid",
42
+ "job_secret_incoherent",
43
+ "job_limit_incoherent",
44
+ "job_resources_incoherent",
45
+ "job_environment_incoherent",
46
+ "job_command_limit_exceeded",
47
+ "job_secret_inadmissible",
48
+ "job_digest_mismatch"
49
+ ]
50
+ },
51
+ "jobSource": {
52
+ "description": "The job: a packaged runner job fixture, or an inline JSON document.",
53
+ "oneOf": [
54
+ {
55
+ "type": "object",
56
+ "additionalProperties": false,
57
+ "required": [
58
+ "fixture"
59
+ ],
60
+ "properties": {
61
+ "fixture": {
62
+ "type": "string",
63
+ "pattern": "^conformance/runner-jobs/(?:valid|invalid|incoherent)/[a-z0-9-]+\\.json$"
64
+ }
65
+ }
66
+ },
67
+ {
68
+ "type": "object",
69
+ "additionalProperties": false,
70
+ "required": [
71
+ "document"
72
+ ],
73
+ "properties": {
74
+ "document": true
75
+ }
76
+ }
77
+ ]
78
+ },
79
+ "jobCase": {
80
+ "description": "A compiled job with its secret values inserted, and the outcome of checking it: coherent, or the job failure code of the first rule it violates.",
81
+ "type": "object",
82
+ "additionalProperties": false,
83
+ "required": [
84
+ "id",
85
+ "job",
86
+ "expected"
87
+ ],
88
+ "properties": {
89
+ "id": {
90
+ "$ref": "#/$defs/identifier"
91
+ },
92
+ "description": {
93
+ "type": "string",
94
+ "minLength": 1
95
+ },
96
+ "job": {
97
+ "$ref": "#/$defs/jobSource"
98
+ },
99
+ "expected": {
100
+ "oneOf": [
101
+ {
102
+ "type": "object",
103
+ "additionalProperties": false,
104
+ "required": [
105
+ "outcome"
106
+ ],
107
+ "properties": {
108
+ "outcome": {
109
+ "const": "coherent"
110
+ }
111
+ }
112
+ },
113
+ {
114
+ "type": "object",
115
+ "additionalProperties": false,
116
+ "required": [
117
+ "outcome",
118
+ "code"
119
+ ],
120
+ "properties": {
121
+ "outcome": {
122
+ "const": "incoherent"
123
+ },
124
+ "code": {
125
+ "$ref": "#/$defs/failureCode"
126
+ }
127
+ }
128
+ }
129
+ ]
130
+ }
131
+ }
132
+ }
133
+ }
134
+ }
@@ -0,0 +1,91 @@
1
+ {
2
+ "spec": "2.0.0",
3
+ "sourceObjectId": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
4
+ "workflowDigest": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
5
+ "compiledPlanDigest": "9a8661778a68db46c2b976334358d5917f51be15d5b4c80bc9fb934e7a366f99",
6
+ "requirements": {
7
+ "executionProfile": "oci",
8
+ "isolation": "container",
9
+ "labels": ["linux"],
10
+ "features": ["source.tar-gz", "artifacts", "caches"],
11
+ "limits": {
12
+ "maximumSourceArchiveBytes": 1048576,
13
+ "maximumSourceExtractedBytes": 4194304,
14
+ "maximumSourceEntries": 1000,
15
+ "maximumArtifactArchiveBytes": 104857600,
16
+ "maximumArtifactExtractedBytes": 524288000,
17
+ "maximumArtifactEntries": 10000,
18
+ "maximumArtifacts": 1,
19
+ "maximumCacheArchiveBytes": 1073741824,
20
+ "maximumCacheExtractedBytes": 4294967296,
21
+ "maximumCacheEntries": 100000,
22
+ "maximumCaches": 1,
23
+ "maximumLogChunkBytes": 65536,
24
+ "maximumTotalLogBytes": 10485760,
25
+ "maximumWorkspaceBytes": 8589934592,
26
+ "maximumWorkspaceEntries": 100000
27
+ }
28
+ },
29
+ "permissions": {
30
+ "source": "read",
31
+ "artifacts": "write",
32
+ "caches": "read-write",
33
+ "images": "none"
34
+ },
35
+ "network": {
36
+ "mode": "none"
37
+ },
38
+ "execution": {
39
+ "profile": "oci",
40
+ "image": "registry.example/ci@sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
41
+ "workingDirectory": "/workspace"
42
+ },
43
+ "steps": [
44
+ {
45
+ "name": "Test",
46
+ "command": ["pnpm", "test"],
47
+ "environment": {
48
+ "CI": "true",
49
+ "SHIPZONE_CI_INPUTS_JSON": "{}",
50
+ "SHIPZONE_CI_MATRIX_JSON": "{}"
51
+ }
52
+ }
53
+ ],
54
+ "source": {
55
+ "format": "tar.gz",
56
+ "sha256": "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
57
+ "sizeBytes": 1024,
58
+ "extractedSizeBytes": 4096,
59
+ "entryCount": 4
60
+ },
61
+ "secrets": {},
62
+ "timeoutMs": 3600000,
63
+ "resources": {
64
+ "memoryBytes": 268435456,
65
+ "cpus": 1,
66
+ "pids": 256
67
+ },
68
+ "artifacts": [
69
+ {
70
+ "name": "test-results",
71
+ "path": ".nogit/testlogs",
72
+ "format": "tar.gz",
73
+ "when": "failure",
74
+ "required": false,
75
+ "maximumBytes": 209715200,
76
+ "maximumExtractedBytes": 524288000,
77
+ "maximumEntries": 10000
78
+ }
79
+ ],
80
+ "caches": [
81
+ {
82
+ "name": "pnpm",
83
+ "key": "pnpm-store",
84
+ "paths": [".pnpm-store"],
85
+ "access": "read-write",
86
+ "maximumBytes": 1073741824,
87
+ "maximumExtractedBytes": 4294967296,
88
+ "maximumEntries": 100000
89
+ }
90
+ ]
91
+ }
@@ -0,0 +1,104 @@
1
+ {
2
+ "spec": "2.0.0",
3
+ "sourceObjectId": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
4
+ "workflowDigest": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
5
+ "compiledPlanDigest": "fd16565c173045812935c81afa919258564b9a89aa79d10cfa6b7b3f177fe2cd",
6
+ "requirements": {
7
+ "executionProfile": "oci-image",
8
+ "isolation": "microvm",
9
+ "platform": "linux/arm64",
10
+ "labels": ["builder"],
11
+ "features": ["source.tar-gz", "caches"],
12
+ "limits": {
13
+ "maximumSourceArchiveBytes": 1048576,
14
+ "maximumSourceExtractedBytes": 4194304,
15
+ "maximumSourceEntries": 1000,
16
+ "maximumArtifactArchiveBytes": 0,
17
+ "maximumArtifactExtractedBytes": 0,
18
+ "maximumArtifactEntries": 0,
19
+ "maximumArtifacts": 0,
20
+ "maximumCacheArchiveBytes": 4294967296,
21
+ "maximumCacheExtractedBytes": 17179869184,
22
+ "maximumCacheEntries": 1000000,
23
+ "maximumCaches": 1,
24
+ "maximumLogChunkBytes": 65536,
25
+ "maximumTotalLogBytes": 10485760,
26
+ "maximumWorkspaceBytes": 21474836480,
27
+ "maximumWorkspaceEntries": 100000
28
+ }
29
+ },
30
+ "permissions": {
31
+ "source": "read",
32
+ "artifacts": "none",
33
+ "caches": "read-write",
34
+ "images": "push"
35
+ },
36
+ "network": {
37
+ "mode": "egress",
38
+ "allow": [
39
+ {
40
+ "host": "registry.npmjs.org",
41
+ "ports": [443]
42
+ }
43
+ ]
44
+ },
45
+ "build": {
46
+ "context": ".",
47
+ "dockerfile": "Dockerfile",
48
+ "target": "production",
49
+ "buildArgs": {
50
+ "NODE_ENV": "production"
51
+ },
52
+ "secrets": [
53
+ {
54
+ "id": "npmrc",
55
+ "environment": "NPM_TOKEN"
56
+ },
57
+ {
58
+ "id": "token",
59
+ "environment": "MISSING_TOKEN"
60
+ }
61
+ ],
62
+ "labels": {
63
+ "org.opencontainers.image.revision": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
64
+ "org.opencontainers.image.source": "https://code.foss.global/example/app",
65
+ "org.opencontainers.image.title": "app"
66
+ },
67
+ "baseImages": [
68
+ {
69
+ "name": "base",
70
+ "image": {
71
+ "candidate": "base-image"
72
+ }
73
+ }
74
+ ]
75
+ },
76
+ "source": {
77
+ "format": "tar.gz",
78
+ "sha256": "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
79
+ "sizeBytes": 1024,
80
+ "extractedSizeBytes": 4096,
81
+ "entryCount": 4
82
+ },
83
+ "secrets": {
84
+ "NPM_TOKEN": "resolved-secret-value"
85
+ },
86
+ "timeoutMs": 3600000,
87
+ "resources": {
88
+ "memoryBytes": 8589934592,
89
+ "cpus": 4,
90
+ "pids": 4096
91
+ },
92
+ "artifacts": [],
93
+ "caches": [
94
+ {
95
+ "name": "buildkit",
96
+ "key": "buildkit-linux-arm64",
97
+ "access": "read-write",
98
+ "maximumBytes": 4294967296,
99
+ "maximumExtractedBytes": 17179869184,
100
+ "maximumEntries": 1000000,
101
+ "retentionDays": 14
102
+ }
103
+ ]
104
+ }
@@ -0,0 +1,91 @@
1
+ {
2
+ "spec": "2.0.0",
3
+ "sourceObjectId": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
4
+ "workflowDigest": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
5
+ "compiledPlanDigest": "44d32c309c5198f061b0778f8dae4b78723d4c8701ea85ec7f070011027745f5",
6
+ "requirements": {
7
+ "executionProfile": "oci",
8
+ "isolation": "container",
9
+ "labels": ["linux"],
10
+ "features": ["source.tar-gz", "artifacts", "caches"],
11
+ "limits": {
12
+ "maximumSourceArchiveBytes": 1048576,
13
+ "maximumSourceExtractedBytes": 4194304,
14
+ "maximumSourceEntries": 1000,
15
+ "maximumArtifactArchiveBytes": 104857600,
16
+ "maximumArtifactExtractedBytes": 524288000,
17
+ "maximumArtifactEntries": 10000,
18
+ "maximumArtifacts": 1,
19
+ "maximumCacheArchiveBytes": 1073741824,
20
+ "maximumCacheExtractedBytes": 4294967296,
21
+ "maximumCacheEntries": 100000,
22
+ "maximumCaches": 0,
23
+ "maximumLogChunkBytes": 65536,
24
+ "maximumTotalLogBytes": 10485760,
25
+ "maximumWorkspaceBytes": 8589934592,
26
+ "maximumWorkspaceEntries": 100000
27
+ }
28
+ },
29
+ "permissions": {
30
+ "source": "read",
31
+ "artifacts": "write",
32
+ "caches": "read-write",
33
+ "images": "none"
34
+ },
35
+ "network": {
36
+ "mode": "none"
37
+ },
38
+ "execution": {
39
+ "profile": "oci",
40
+ "image": "registry.example/ci@sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
41
+ "workingDirectory": "/workspace"
42
+ },
43
+ "steps": [
44
+ {
45
+ "name": "Test",
46
+ "command": ["pnpm", "test"],
47
+ "environment": {
48
+ "CI": "true",
49
+ "SHIPZONE_CI_INPUTS_JSON": "{}",
50
+ "SHIPZONE_CI_MATRIX_JSON": "{}"
51
+ }
52
+ }
53
+ ],
54
+ "source": {
55
+ "format": "tar.gz",
56
+ "sha256": "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
57
+ "sizeBytes": 1024,
58
+ "extractedSizeBytes": 4096,
59
+ "entryCount": 4
60
+ },
61
+ "secrets": {},
62
+ "timeoutMs": 3600000,
63
+ "resources": {
64
+ "memoryBytes": 268435456,
65
+ "cpus": 1,
66
+ "pids": 256
67
+ },
68
+ "artifacts": [
69
+ {
70
+ "name": "test-results",
71
+ "path": ".nogit/testlogs",
72
+ "format": "tar.gz",
73
+ "when": "failure",
74
+ "required": false,
75
+ "maximumBytes": 104857600,
76
+ "maximumExtractedBytes": 524288000,
77
+ "maximumEntries": 10000
78
+ }
79
+ ],
80
+ "caches": [
81
+ {
82
+ "name": "pnpm",
83
+ "key": "pnpm-store",
84
+ "paths": [".pnpm-store"],
85
+ "access": "read-write",
86
+ "maximumBytes": 1073741824,
87
+ "maximumExtractedBytes": 4294967296,
88
+ "maximumEntries": 100000
89
+ }
90
+ ]
91
+ }
@@ -0,0 +1,206 @@
1
+ {
2
+ "spec": "2.0.0",
3
+ "sourceObjectId": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
4
+ "workflowDigest": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
5
+ "compiledPlanDigest": "6c5d9cac0cae24a1a129cb63a4f4e22c227c5a3ab67b1e1fab54a81a01783309",
6
+ "requirements": {
7
+ "executionProfile": "oci",
8
+ "isolation": "container",
9
+ "labels": ["linux"],
10
+ "features": ["source.tar-gz"],
11
+ "limits": {
12
+ "maximumSourceArchiveBytes": 1048576,
13
+ "maximumSourceExtractedBytes": 4194304,
14
+ "maximumSourceEntries": 1000,
15
+ "maximumArtifactArchiveBytes": 0,
16
+ "maximumArtifactExtractedBytes": 0,
17
+ "maximumArtifactEntries": 0,
18
+ "maximumArtifacts": 0,
19
+ "maximumCacheArchiveBytes": 0,
20
+ "maximumCacheExtractedBytes": 0,
21
+ "maximumCacheEntries": 0,
22
+ "maximumCaches": 0,
23
+ "maximumLogChunkBytes": 65536,
24
+ "maximumTotalLogBytes": 10485760,
25
+ "maximumWorkspaceBytes": 21474836480,
26
+ "maximumWorkspaceEntries": 100000
27
+ }
28
+ },
29
+ "permissions": {
30
+ "source": "read",
31
+ "artifacts": "none",
32
+ "caches": "none",
33
+ "images": "none"
34
+ },
35
+ "network": {
36
+ "mode": "egress",
37
+ "allow": [
38
+ {
39
+ "host": "npm.example.com",
40
+ "ports": [443]
41
+ },
42
+ {
43
+ "host": "registry.npmjs.org",
44
+ "ports": [443]
45
+ }
46
+ ]
47
+ },
48
+ "execution": {
49
+ "profile": "oci",
50
+ "image": "registry.example/ci@sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
51
+ "workingDirectory": "/workspace"
52
+ },
53
+ "steps": [
54
+ {
55
+ "name": "Install",
56
+ "command": ["pnpm", "install", "--frozen-lockfile"],
57
+ "environment": {
58
+ "VARIABLE_001": "value",
59
+ "VARIABLE_002": "value",
60
+ "VARIABLE_003": "value",
61
+ "VARIABLE_004": "value",
62
+ "VARIABLE_005": "value",
63
+ "VARIABLE_006": "value",
64
+ "VARIABLE_007": "value",
65
+ "VARIABLE_008": "value",
66
+ "VARIABLE_009": "value",
67
+ "VARIABLE_010": "value",
68
+ "VARIABLE_011": "value",
69
+ "VARIABLE_012": "value",
70
+ "VARIABLE_013": "value",
71
+ "VARIABLE_014": "value",
72
+ "VARIABLE_015": "value",
73
+ "VARIABLE_016": "value",
74
+ "VARIABLE_017": "value",
75
+ "VARIABLE_018": "value",
76
+ "VARIABLE_019": "value",
77
+ "VARIABLE_020": "value",
78
+ "VARIABLE_021": "value",
79
+ "VARIABLE_022": "value",
80
+ "VARIABLE_023": "value",
81
+ "VARIABLE_024": "value",
82
+ "VARIABLE_025": "value",
83
+ "VARIABLE_026": "value",
84
+ "VARIABLE_027": "value",
85
+ "VARIABLE_028": "value",
86
+ "VARIABLE_029": "value",
87
+ "VARIABLE_030": "value",
88
+ "VARIABLE_031": "value",
89
+ "VARIABLE_032": "value",
90
+ "VARIABLE_033": "value",
91
+ "VARIABLE_034": "value",
92
+ "VARIABLE_035": "value",
93
+ "VARIABLE_036": "value",
94
+ "VARIABLE_037": "value",
95
+ "VARIABLE_038": "value",
96
+ "VARIABLE_039": "value",
97
+ "VARIABLE_040": "value",
98
+ "VARIABLE_041": "value",
99
+ "VARIABLE_042": "value",
100
+ "VARIABLE_043": "value",
101
+ "VARIABLE_044": "value",
102
+ "VARIABLE_045": "value",
103
+ "VARIABLE_046": "value",
104
+ "VARIABLE_047": "value",
105
+ "VARIABLE_048": "value",
106
+ "VARIABLE_049": "value",
107
+ "VARIABLE_050": "value",
108
+ "VARIABLE_051": "value",
109
+ "VARIABLE_052": "value",
110
+ "VARIABLE_053": "value",
111
+ "VARIABLE_054": "value",
112
+ "VARIABLE_055": "value",
113
+ "VARIABLE_056": "value",
114
+ "VARIABLE_057": "value",
115
+ "VARIABLE_058": "value",
116
+ "VARIABLE_059": "value",
117
+ "VARIABLE_060": "value",
118
+ "VARIABLE_061": "value",
119
+ "VARIABLE_062": "value",
120
+ "VARIABLE_063": "value",
121
+ "VARIABLE_064": "value",
122
+ "VARIABLE_065": "value",
123
+ "VARIABLE_066": "value",
124
+ "VARIABLE_067": "value",
125
+ "VARIABLE_068": "value",
126
+ "VARIABLE_069": "value",
127
+ "VARIABLE_070": "value",
128
+ "VARIABLE_071": "value",
129
+ "VARIABLE_072": "value",
130
+ "VARIABLE_073": "value",
131
+ "VARIABLE_074": "value",
132
+ "VARIABLE_075": "value",
133
+ "VARIABLE_076": "value",
134
+ "VARIABLE_077": "value",
135
+ "VARIABLE_078": "value",
136
+ "VARIABLE_079": "value",
137
+ "VARIABLE_080": "value",
138
+ "VARIABLE_081": "value",
139
+ "VARIABLE_082": "value",
140
+ "VARIABLE_083": "value",
141
+ "VARIABLE_084": "value",
142
+ "VARIABLE_085": "value",
143
+ "VARIABLE_086": "value",
144
+ "VARIABLE_087": "value",
145
+ "VARIABLE_088": "value",
146
+ "VARIABLE_089": "value",
147
+ "VARIABLE_090": "value",
148
+ "VARIABLE_091": "value",
149
+ "VARIABLE_092": "value",
150
+ "VARIABLE_093": "value",
151
+ "VARIABLE_094": "value",
152
+ "VARIABLE_095": "value",
153
+ "VARIABLE_096": "value",
154
+ "VARIABLE_097": "value",
155
+ "VARIABLE_098": "value",
156
+ "VARIABLE_099": "value",
157
+ "VARIABLE_100": "value",
158
+ "VARIABLE_101": "value",
159
+ "VARIABLE_102": "value",
160
+ "VARIABLE_103": "value",
161
+ "VARIABLE_104": "value",
162
+ "VARIABLE_105": "value",
163
+ "VARIABLE_106": "value",
164
+ "VARIABLE_107": "value",
165
+ "VARIABLE_108": "value",
166
+ "VARIABLE_109": "value",
167
+ "VARIABLE_110": "value",
168
+ "VARIABLE_111": "value",
169
+ "VARIABLE_112": "value",
170
+ "VARIABLE_113": "value",
171
+ "VARIABLE_114": "value",
172
+ "VARIABLE_115": "value",
173
+ "VARIABLE_116": "value",
174
+ "VARIABLE_117": "value",
175
+ "VARIABLE_118": "value",
176
+ "VARIABLE_119": "value",
177
+ "VARIABLE_120": "value",
178
+ "VARIABLE_121": "value",
179
+ "VARIABLE_122": "value",
180
+ "VARIABLE_123": "value",
181
+ "VARIABLE_124": "value",
182
+ "VARIABLE_125": "value",
183
+ "VARIABLE_126": "value",
184
+ "SHIPZONE_CI_INPUTS_JSON": "{}",
185
+ "SHIPZONE_CI_MATRIX_JSON": "{}"
186
+ }
187
+ }
188
+ ],
189
+ "source": {
190
+ "format": "tar.gz",
191
+ "sha256": "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
192
+ "sizeBytes": 1024,
193
+ "extractedSizeBytes": 4096,
194
+ "entryCount": 4
195
+ },
196
+ "secrets": {},
197
+ "timeoutMs": 60000,
198
+ "npmRead": [
199
+ {
200
+ "registry": "https://npm.example.com",
201
+ "scopes": ["@example_private"]
202
+ }
203
+ ],
204
+ "artifacts": [],
205
+ "caches": []
206
+ }