@ship.zone/ci-spec 2.0.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 (116) hide show
  1. package/.smartconfig.json +46 -0
  2. package/changelog.md +190 -0
  3. package/conformance/archive-cases.json +446 -0
  4. package/conformance/ci-actions/compile-invalid/build-arg-secret-collision.yml +31 -0
  5. package/conformance/ci-actions/compile-invalid/candidate-without-needs.yml +36 -0
  6. package/conformance/ci-actions/compile-invalid/needs-wider-triggers.yml +42 -0
  7. package/conformance/ci-actions/compile-invalid/npm-read-registry-not-allowlisted.yml +34 -0
  8. package/conformance/ci-actions/compile-invalid/publish-job-excludes-tag.yml +57 -0
  9. package/conformance/ci-actions/compile-invalid/shared-memory-above-memory.yml +28 -0
  10. package/conformance/ci-actions/compile-invalid/trigger-kind-without-job.yml +30 -0
  11. package/conformance/ci-actions/invalid/alias-affix-invalid.yml +33 -0
  12. package/conformance/ci-actions/invalid/alias.yml +32 -0
  13. package/conformance/ci-actions/invalid/bridge-network.yml +27 -0
  14. package/conformance/ci-actions/invalid/build-darwin-platform.yml +24 -0
  15. package/conformance/ci-actions/invalid/build-with-steps.yml +27 -0
  16. package/conformance/ci-actions/invalid/concurrency-empty-group.yml +28 -0
  17. package/conformance/ci-actions/invalid/concurrency-without-cancel-in-progress.yml +27 -0
  18. package/conformance/ci-actions/invalid/container-job-build-profile.yml +25 -0
  19. package/conformance/ci-actions/invalid/custom-tag.txt +23 -0
  20. package/conformance/ci-actions/invalid/duplicate-key.txt +24 -0
  21. package/conformance/ci-actions/invalid/egress-bare-wildcard.yml +29 -0
  22. package/conformance/ci-actions/invalid/egress-empty-allowlist.yml +28 -0
  23. package/conformance/ci-actions/invalid/egress-ip-literal.yml +29 -0
  24. package/conformance/ci-actions/invalid/egress-single-label-wildcard.yml +29 -0
  25. package/conformance/ci-actions/invalid/job-publish-permission.yml +28 -0
  26. package/conformance/ci-actions/invalid/job-trigger-undeclared-kind.yml +27 -0
  27. package/conformance/ci-actions/invalid/literal-alias-affix.yml +33 -0
  28. package/conformance/ci-actions/invalid/missing-spec.yml +24 -0
  29. package/conformance/ci-actions/invalid/multiple-documents.yml +25 -0
  30. package/conformance/ci-actions/invalid/npm-read-invalid-scope.yml +33 -0
  31. package/conformance/ci-actions/invalid/oci-darwin-platform.yml +25 -0
  32. package/conformance/ci-actions/invalid/permission-without-publication.yml +31 -0
  33. package/conformance/ci-actions/invalid/publish-order-duplicate.yml +50 -0
  34. package/conformance/ci-actions/invalid/publish-order-missing-kind.yml +48 -0
  35. package/conformance/ci-actions/invalid/publish-order-undeclared-kind.yml +45 -0
  36. package/conformance/ci-actions/invalid/publish-without-permission.yml +31 -0
  37. package/conformance/ci-actions/invalid/publish-without-tag-trigger.yml +31 -0
  38. package/conformance/ci-actions/invalid/release-notes-without-assets.yml +46 -0
  39. package/conformance/ci-actions/invalid/reserved-label-prefix.yml +25 -0
  40. package/conformance/ci-actions/invalid/reserved-label.yml +25 -0
  41. package/conformance/ci-actions/invalid/retention-above-maximum.yml +83 -0
  42. package/conformance/ci-actions/invalid/retention-below-minimum.yml +83 -0
  43. package/conformance/ci-actions/invalid/schema-version-field.yml +26 -0
  44. package/conformance/ci-actions/invalid/shared-memory-below-minimum.yml +28 -0
  45. package/conformance/ci-actions/invalid/shell-string.yml +21 -0
  46. package/conformance/ci-actions/invalid/spec-number.yml +25 -0
  47. package/conformance/ci-actions/invalid/spec-prerelease.yml +25 -0
  48. package/conformance/ci-actions/invalid/spec-range.yml +25 -0
  49. package/conformance/ci-actions/invalid/timeout-above-maximum.yml +26 -0
  50. package/conformance/ci-actions/invalid/timeout-below-minimum.yml +26 -0
  51. package/conformance/ci-actions/invalid/unknown-alias-kind.yml +31 -0
  52. package/conformance/ci-actions/invalid/unknown-key.yml +24 -0
  53. package/conformance/ci-actions/invalid/vm-darwin-candidate.yml +38 -0
  54. package/conformance/ci-actions/invalid/vm-darwin-shared-memory.yml +28 -0
  55. package/conformance/ci-actions/invalid/vm-oci-execution.yml +25 -0
  56. package/conformance/ci-actions/invalid/vm-unsupported-platform.yml +25 -0
  57. package/conformance/ci-actions/invalid/vm-without-platform.yml +24 -0
  58. package/conformance/ci-actions/valid/concurrency.yml +83 -0
  59. package/conformance/ci-actions/valid/egress.yml +40 -0
  60. package/conformance/ci-actions/valid/image-build.yml +80 -0
  61. package/conformance/ci-actions/valid/matrix.yml +45 -0
  62. package/conformance/ci-actions/valid/minimal.yml +25 -0
  63. package/conformance/ci-actions/valid/npm-read.yml +60 -0
  64. package/conformance/ci-actions/valid/release-assets.yml +114 -0
  65. package/conformance/ci-actions/valid/release-signing.yml +71 -0
  66. package/conformance/ci-actions/valid/release.yml +109 -0
  67. package/conformance/ci-actions/valid/resources.yml +79 -0
  68. package/conformance/ci-actions/valid/vm.yml +77 -0
  69. package/conformance/compile-cases.json +5885 -0
  70. package/conformance/compile-cases.schema.json +766 -0
  71. package/conformance/digest-cases.json +144 -0
  72. package/conformance/runner-cases.json +1238 -0
  73. package/conformance/runner-jobs/invalid/bridge-network.json +70 -0
  74. package/conformance/runner-jobs/invalid/build-darwin-platform.json +100 -0
  75. package/conformance/runner-jobs/invalid/build-with-steps.json +111 -0
  76. package/conformance/runner-jobs/invalid/build-without-microvm.json +100 -0
  77. package/conformance/runner-jobs/invalid/egress-empty-allowlist.json +71 -0
  78. package/conformance/runner-jobs/invalid/mutable-image.json +70 -0
  79. package/conformance/runner-jobs/invalid/npm-read-reserved-environment.json +82 -0
  80. package/conformance/runner-jobs/invalid/oci-darwin-platform.json +71 -0
  81. package/conformance/runner-jobs/invalid/push-permission-container.json +70 -0
  82. package/conformance/runner-jobs/invalid/shared-memory-below-minimum.json +71 -0
  83. package/conformance/runner-jobs/invalid/timeout-missing.json +69 -0
  84. package/conformance/runner-jobs/invalid/vm-without-microvm.json +82 -0
  85. package/conformance/runner-jobs/valid/candidate-test.json +72 -0
  86. package/conformance/runner-jobs/valid/egress.json +80 -0
  87. package/conformance/runner-jobs/valid/image-build.json +100 -0
  88. package/conformance/runner-jobs/valid/minimal.json +70 -0
  89. package/conformance/runner-jobs/valid/npm-read.json +81 -0
  90. package/conformance/runner-jobs/valid/resources.json +71 -0
  91. package/conformance/runner-jobs/valid/timeout-retention-defaults.json +91 -0
  92. package/conformance/runner-jobs/valid/vm-darwin.json +70 -0
  93. package/conformance/runner-jobs/valid/vm.json +82 -0
  94. package/conformance/runner-messages.json +2035 -0
  95. package/conformance/version-cases.json +125 -0
  96. package/dist_ts/00_commitinfo_data.d.ts +8 -0
  97. package/dist_ts/00_commitinfo_data.js +9 -0
  98. package/dist_ts/constants.d.ts +199 -0
  99. package/dist_ts/constants.js +106 -0
  100. package/dist_ts/index.d.ts +1 -0
  101. package/dist_ts/index.js +2 -0
  102. package/dist_ts/plugins.d.ts +1 -0
  103. package/dist_ts/plugins.js +3 -0
  104. package/examples/ci_actions.yml +64 -0
  105. package/license.md +21 -0
  106. package/package.json +72 -0
  107. package/readme.md +146 -0
  108. package/schemas/ci_actions.schema.json +1664 -0
  109. package/schemas/runner-job.schema.json +1172 -0
  110. package/spec/ci-actions.md +433 -0
  111. package/spec/runner-protocol.md +378 -0
  112. package/spec/runner.openapi.json +2182 -0
  113. package/ts/00_commitinfo_data.ts +8 -0
  114. package/ts/constants.ts +112 -0
  115. package/ts/index.ts +1 -0
  116. package/ts/plugins.ts +1 -0
@@ -0,0 +1,144 @@
1
+ {
2
+ "algorithm": "RFC8785+SHA-256",
3
+ "cases": [
4
+ {
5
+ "id": "claim-request-body",
6
+ "kind": "request",
7
+ "input": {
8
+ "sessionId": "session-1",
9
+ "runnerId": "runner-1",
10
+ "claimRequestId": "claim-1"
11
+ },
12
+ "canonical": "{\"claimRequestId\":\"claim-1\",\"runnerId\":\"runner-1\",\"sessionId\":\"session-1\"}",
13
+ "sha256": "35452f47b35f901c97bf07c3065f2010486530320e7d22dd08887aac8251b6f7"
14
+ },
15
+ {
16
+ "id": "compiled-plan-secret-projection",
17
+ "kind": "compiledPlan",
18
+ "input": {
19
+ "spec": "2.0.0",
20
+ "compiledPlanDigest": "excluded",
21
+ "secrets": {
22
+ "ZED": "excluded-value-2",
23
+ "TOKEN": "excluded-value-1"
24
+ },
25
+ "network": {
26
+ "mode": "none"
27
+ },
28
+ "execution": {
29
+ "profile": "oci"
30
+ }
31
+ },
32
+ "projection": {
33
+ "spec": "2.0.0",
34
+ "secrets": {
35
+ "ZED": true,
36
+ "TOKEN": true
37
+ },
38
+ "network": {
39
+ "mode": "none"
40
+ },
41
+ "execution": {
42
+ "profile": "oci"
43
+ }
44
+ },
45
+ "canonical": "{\"execution\":{\"profile\":\"oci\"},\"network\":{\"mode\":\"none\"},\"secrets\":{\"TOKEN\":true,\"ZED\":true},\"spec\":\"2.0.0\"}",
46
+ "sha256": "735447ce4224e6caccb4510902c9d8fae004d779e6da1104015fcbee59f49de5"
47
+ },
48
+ {
49
+ "id": "compiled-plan-candidate-reference",
50
+ "kind": "compiledPlan",
51
+ "input": {
52
+ "spec": "2.0.0",
53
+ "compiledPlanDigest": "excluded",
54
+ "secrets": {},
55
+ "network": {
56
+ "mode": "none"
57
+ },
58
+ "execution": {
59
+ "profile": "oci",
60
+ "image": {
61
+ "candidate": "image"
62
+ }
63
+ }
64
+ },
65
+ "projection": {
66
+ "spec": "2.0.0",
67
+ "secrets": {},
68
+ "network": {
69
+ "mode": "none"
70
+ },
71
+ "execution": {
72
+ "profile": "oci",
73
+ "image": {
74
+ "candidate": "image"
75
+ }
76
+ }
77
+ },
78
+ "canonical": "{\"execution\":{\"image\":{\"candidate\":\"image\"},\"profile\":\"oci\"},\"network\":{\"mode\":\"none\"},\"secrets\":{},\"spec\":\"2.0.0\"}",
79
+ "sha256": "1befd574e0bdb339ffc35e08f036c58d90d98d6a6b8a370c853e1ae0985c066f"
80
+ },
81
+ {
82
+ "id": "candidate-image-index",
83
+ "kind": "imageIndex",
84
+ "input": {
85
+ "schemaVersion": 2,
86
+ "mediaType": "application/vnd.oci.image.index.v1+json",
87
+ "manifests": [
88
+ {
89
+ "mediaType": "application/vnd.oci.image.manifest.v1+json",
90
+ "digest": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
91
+ "size": 1234,
92
+ "platform": {
93
+ "architecture": "amd64",
94
+ "os": "linux"
95
+ }
96
+ },
97
+ {
98
+ "mediaType": "application/vnd.oci.image.manifest.v1+json",
99
+ "digest": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
100
+ "size": 1240,
101
+ "platform": {
102
+ "architecture": "arm64",
103
+ "os": "linux"
104
+ }
105
+ }
106
+ ]
107
+ },
108
+ "canonical": "{\"manifests\":[{\"digest\":\"sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\",\"mediaType\":\"application/vnd.oci.image.manifest.v1+json\",\"platform\":{\"architecture\":\"amd64\",\"os\":\"linux\"},\"size\":1234},{\"digest\":\"sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\",\"mediaType\":\"application/vnd.oci.image.manifest.v1+json\",\"platform\":{\"architecture\":\"arm64\",\"os\":\"linux\"},\"size\":1240}],\"mediaType\":\"application/vnd.oci.image.index.v1+json\",\"schemaVersion\":2}",
109
+ "sha256": "91c0c5430523ae831a1d29388918259c0ec5c201b5fc3d5b6fcab0b3c35b7b0b"
110
+ },
111
+ {
112
+ "id": "number-serialization",
113
+ "kind": "request",
114
+ "input": {
115
+ "negativeZero": -0,
116
+ "small": 1e-7,
117
+ "large": 1e+30,
118
+ "decimal": 333333333.3333333
119
+ },
120
+ "canonical": "{\"decimal\":333333333.3333333,\"large\":1e+30,\"negativeZero\":0,\"small\":1e-7}",
121
+ "sha256": "6856c39abdc924eb196992034fa139fb179f9e6ade7e511066a87dd663fbe0f8"
122
+ },
123
+ {
124
+ "id": "unicode-ordering-and-escaping",
125
+ "kind": "request",
126
+ "input": {
127
+ "\ue000": "private",
128
+ "\ud83d\ude00": "emoji",
129
+ "\u00e9": "caf\u00e9",
130
+ "a": "line\nbreak"
131
+ },
132
+ "canonical": "{\"a\":\"line\\nbreak\",\"\u00e9\":\"caf\u00e9\",\"\ud83d\ude00\":\"emoji\",\"\ue000\":\"private\"}",
133
+ "sha256": "3ed6e3cf06035e4aa3a31b4e790748027c1b165a69b3bd7a4d4f53bcd7204bb5"
134
+ },
135
+ {
136
+ "id": "lone-surrogate-rejected",
137
+ "kind": "request",
138
+ "valid": false,
139
+ "input": {
140
+ "bad": "\ud800"
141
+ }
142
+ }
143
+ ]
144
+ }