@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,31 @@
1
+ spec: 2.0.0
2
+ on:
3
+ tag:
4
+ tags:
5
+ - v*
6
+ permissions:
7
+ source: read
8
+ artifacts: none
9
+ caches: none
10
+ images: publish
11
+ npm: none
12
+ releaseAssets: none
13
+ jobs:
14
+ image:
15
+ runner:
16
+ profile: oci-image
17
+ labels:
18
+ - builder
19
+ build:
20
+ context: .
21
+ dockerfile: Dockerfile
22
+ platforms:
23
+ - linux/amd64
24
+ publish:
25
+ images:
26
+ - candidate: image
27
+ destinations:
28
+ - registry: code.foss.global
29
+ repository: example/app
30
+ aliases:
31
+ - kind: branch
@@ -0,0 +1,24 @@
1
+ spec: 2.0.0
2
+ on:
3
+ push: {}
4
+ permissions:
5
+ source: read
6
+ artifacts: none
7
+ caches: none
8
+ images: none
9
+ npm: none
10
+ releaseAssets: none
11
+ jobs:
12
+ test:
13
+ runner:
14
+ profile: oci
15
+ labels:
16
+ - linux
17
+ execution:
18
+ profile: oci
19
+ image: registry.example/test@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
20
+ steps:
21
+ - run:
22
+ - pnpm
23
+ - test
24
+ privileged: true
@@ -0,0 +1,38 @@
1
+ spec: 2.0.0
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ permissions:
7
+ source: read
8
+ artifacts: none
9
+ caches: none
10
+ images: candidate
11
+ npm: none
12
+ releaseAssets: none
13
+ jobs:
14
+ image:
15
+ runner:
16
+ profile: oci-image
17
+ labels:
18
+ - builder
19
+ build:
20
+ context: .
21
+ dockerfile: Dockerfile
22
+ platforms:
23
+ - linux/arm64
24
+ test:
25
+ needs:
26
+ - image
27
+ runner:
28
+ profile: vm
29
+ labels:
30
+ - macos
31
+ platform: darwin/arm64
32
+ execution:
33
+ profile: vm
34
+ image:
35
+ candidate: image
36
+ steps:
37
+ - run:
38
+ - ./scripts/test.sh
@@ -0,0 +1,28 @@
1
+ spec: 2.0.0
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ permissions:
7
+ source: read
8
+ artifacts: none
9
+ caches: none
10
+ images: none
11
+ npm: none
12
+ releaseAssets: none
13
+ jobs:
14
+ test:
15
+ runner:
16
+ profile: vm
17
+ labels:
18
+ - linux
19
+ platform: darwin/arm64
20
+ execution:
21
+ profile: vm
22
+ image: registry.example/ci/node@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
23
+ resources:
24
+ memoryBytes: 8589934592
25
+ sharedMemoryBytes: 1073741824
26
+ steps:
27
+ - run:
28
+ - ./scripts/test.sh
@@ -0,0 +1,25 @@
1
+ spec: 2.0.0
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ permissions:
7
+ source: read
8
+ artifacts: none
9
+ caches: none
10
+ images: none
11
+ npm: none
12
+ releaseAssets: none
13
+ jobs:
14
+ test:
15
+ runner:
16
+ profile: vm
17
+ labels:
18
+ - linux
19
+ platform: linux/amd64
20
+ execution:
21
+ profile: oci
22
+ image: registry.example/ci/node@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
23
+ steps:
24
+ - run:
25
+ - ./scripts/test.sh
@@ -0,0 +1,25 @@
1
+ spec: 2.0.0
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ permissions:
7
+ source: read
8
+ artifacts: none
9
+ caches: none
10
+ images: none
11
+ npm: none
12
+ releaseAssets: none
13
+ jobs:
14
+ test:
15
+ runner:
16
+ profile: vm
17
+ labels:
18
+ - linux
19
+ platform: darwin/amd64
20
+ execution:
21
+ profile: vm
22
+ image: registry.example/ci/node@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
23
+ steps:
24
+ - run:
25
+ - ./scripts/test.sh
@@ -0,0 +1,24 @@
1
+ spec: 2.0.0
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ permissions:
7
+ source: read
8
+ artifacts: none
9
+ caches: none
10
+ images: none
11
+ npm: none
12
+ releaseAssets: none
13
+ jobs:
14
+ test:
15
+ runner:
16
+ profile: vm
17
+ labels:
18
+ - linux
19
+ execution:
20
+ profile: vm
21
+ image: registry.example/ci/node@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
22
+ steps:
23
+ - run:
24
+ - ./scripts/test.sh
@@ -0,0 +1,83 @@
1
+ spec: 2.0.0
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ pullRequest:
7
+ targetBranches:
8
+ - main
9
+ manual: {}
10
+ permissions:
11
+ source: read
12
+ artifacts: write
13
+ caches: read-write
14
+ images: none
15
+ npm: none
16
+ releaseAssets: none
17
+ concurrency:
18
+ group: test
19
+ cancelInProgress: false
20
+ jobs:
21
+ test:
22
+ runner:
23
+ profile: oci
24
+ labels:
25
+ - linux
26
+ execution:
27
+ profile: oci
28
+ image: registry.example/test@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
29
+ steps:
30
+ - run:
31
+ - pnpm
32
+ - test
33
+ artifacts:
34
+ - name: test-results
35
+ path: .nogit/testlogs
36
+ when: failure
37
+ required: false
38
+ maximumBytes: 104857600
39
+ maximumExtractedBytes: 524288000
40
+ maximumEntries: 10000
41
+ caches:
42
+ - name: pnpm
43
+ key: pnpm-store
44
+ paths:
45
+ - .pnpm-store
46
+ access: read-write
47
+ maximumBytes: 1073741824
48
+ maximumExtractedBytes: 4294967296
49
+ maximumEntries: 100000
50
+ build:
51
+ needs:
52
+ - test
53
+ runner:
54
+ profile: oci
55
+ labels:
56
+ - linux
57
+ execution:
58
+ profile: oci
59
+ image: registry.example/test@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
60
+ timeoutMs: 86400000
61
+ steps:
62
+ - run:
63
+ - pnpm
64
+ - build
65
+ artifacts:
66
+ - name: dist
67
+ path: dist
68
+ when: success
69
+ required: true
70
+ maximumBytes: 104857600
71
+ maximumExtractedBytes: 524288000
72
+ maximumEntries: 10000
73
+ retentionDays: 3650
74
+ caches:
75
+ - name: pnpm
76
+ key: pnpm-store
77
+ paths:
78
+ - .pnpm-store
79
+ access: read
80
+ maximumBytes: 1073741824
81
+ maximumExtractedBytes: 4294967296
82
+ maximumEntries: 100000
83
+ retentionDays: 1
@@ -0,0 +1,40 @@
1
+ spec: 2.0.0
2
+ on:
3
+ pullRequest:
4
+ targetBranches:
5
+ - main
6
+ permissions:
7
+ source: read
8
+ artifacts: none
9
+ caches: none
10
+ images: none
11
+ npm: none
12
+ releaseAssets: none
13
+ jobs:
14
+ test:
15
+ runner:
16
+ profile: oci
17
+ labels:
18
+ - linux
19
+ execution:
20
+ profile: oci
21
+ image: registry.example/test@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
22
+ network:
23
+ mode: egress
24
+ allow:
25
+ - host: registry.npmjs.org
26
+ - host: '*.githubusercontent.com'
27
+ ports:
28
+ - 443
29
+ - host: mirror.example.org
30
+ ports:
31
+ - 80
32
+ - 443
33
+ steps:
34
+ - run:
35
+ - pnpm
36
+ - install
37
+ - --frozen-lockfile
38
+ - run:
39
+ - pnpm
40
+ - test
@@ -0,0 +1,80 @@
1
+ spec: 2.0.0
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ permissions:
7
+ source: read
8
+ artifacts: none
9
+ caches: read-write
10
+ images: candidate
11
+ npm: none
12
+ releaseAssets: none
13
+ jobs:
14
+ base-image:
15
+ runner:
16
+ profile: oci-image
17
+ labels:
18
+ - builder
19
+ build:
20
+ context: .
21
+ dockerfile: base.Dockerfile
22
+ platforms:
23
+ - linux/amd64
24
+ - linux/arm64
25
+ image:
26
+ needs:
27
+ - base-image
28
+ runner:
29
+ profile: oci-image
30
+ labels:
31
+ - builder
32
+ network:
33
+ mode: egress
34
+ allow:
35
+ - host: registry.npmjs.org
36
+ secrets:
37
+ - name: npm-token
38
+ environment: NPM_TOKEN
39
+ build:
40
+ context: .
41
+ dockerfile: Dockerfile
42
+ target: production
43
+ platforms:
44
+ - linux/amd64
45
+ - linux/arm64
46
+ buildArgs:
47
+ NODE_ENV: production
48
+ secrets:
49
+ - id: npmrc
50
+ environment: NPM_TOKEN
51
+ labels:
52
+ org.opencontainers.image.title: app
53
+ baseImages:
54
+ - name: base
55
+ image:
56
+ candidate: base-image
57
+ caches:
58
+ - name: buildkit
59
+ key: buildkit
60
+ access: read-write
61
+ maximumBytes: 4294967296
62
+ maximumExtractedBytes: 17179869184
63
+ maximumEntries: 1000000
64
+ retentionDays: 14
65
+ smoke:
66
+ needs:
67
+ - image
68
+ runner:
69
+ profile: oci
70
+ labels:
71
+ - linux
72
+ platform: linux/arm64
73
+ execution:
74
+ profile: oci
75
+ image:
76
+ candidate: image
77
+ steps:
78
+ - run:
79
+ - /usr/local/bin/app
80
+ - --self-test
@@ -0,0 +1,45 @@
1
+ spec: 2.0.0
2
+ on:
3
+ manual:
4
+ inputs:
5
+ mode:
6
+ type: choice
7
+ required: true
8
+ options:
9
+ - quick
10
+ - full
11
+ permissions:
12
+ source: read
13
+ artifacts: write
14
+ caches: read
15
+ images: none
16
+ npm: none
17
+ releaseAssets: none
18
+ jobs:
19
+ test:
20
+ matrix:
21
+ node:
22
+ - 22
23
+ - 24
24
+ platform:
25
+ - amd64
26
+ - arm64
27
+ runner:
28
+ profile: oci
29
+ labels:
30
+ - linux
31
+ execution:
32
+ profile: oci
33
+ image: registry.example/test@sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
34
+ steps:
35
+ - run:
36
+ - pnpm
37
+ - test
38
+ artifacts:
39
+ - name: results
40
+ path: .nogit/testlogs
41
+ when: always
42
+ required: false
43
+ maximumBytes: 10485760
44
+ maximumExtractedBytes: 52428800
45
+ maximumEntries: 1000
@@ -0,0 +1,25 @@
1
+ spec: 2.0.0
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ permissions:
7
+ source: read
8
+ artifacts: none
9
+ caches: none
10
+ images: none
11
+ npm: none
12
+ releaseAssets: none
13
+ jobs:
14
+ test:
15
+ runner:
16
+ profile: oci
17
+ labels:
18
+ - linux
19
+ execution:
20
+ profile: oci
21
+ image: registry.example/test@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
22
+ steps:
23
+ - run:
24
+ - pnpm
25
+ - test
@@ -0,0 +1,60 @@
1
+ spec: 2.0.0
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ tag:
7
+ tags:
8
+ - v*
9
+ permissions:
10
+ source: read
11
+ artifacts: none
12
+ caches: none
13
+ images: candidate
14
+ npm: none
15
+ releaseAssets: none
16
+ jobs:
17
+ test:
18
+ runner:
19
+ profile: oci
20
+ labels:
21
+ - linux
22
+ execution:
23
+ profile: oci
24
+ image: registry.example/ci/node@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
25
+ network:
26
+ mode: egress
27
+ allow:
28
+ - host: registry.npmjs.org
29
+ - host: npm.example.com
30
+ npmRead:
31
+ - registry: https://npm.example.com
32
+ scopes:
33
+ - '@example_private'
34
+ steps:
35
+ - run:
36
+ - pnpm
37
+ - install
38
+ - --frozen-lockfile
39
+ - run:
40
+ - pnpm
41
+ - test
42
+ image:
43
+ runner:
44
+ profile: oci-image
45
+ labels:
46
+ - builder
47
+ network:
48
+ mode: egress
49
+ allow:
50
+ - host: registry.npmjs.org
51
+ - host: npm.example.com
52
+ npmRead:
53
+ - registry: https://npm.example.com
54
+ scopes:
55
+ - '@example_private'
56
+ build:
57
+ context: .
58
+ dockerfile: Dockerfile
59
+ platforms:
60
+ - linux/amd64
@@ -0,0 +1,114 @@
1
+ spec: 2.0.0
2
+ on:
3
+ tag:
4
+ tags:
5
+ - v*
6
+ permissions:
7
+ source: read
8
+ artifacts: write
9
+ caches: none
10
+ images: publish
11
+ npm: publish
12
+ releaseAssets: publish
13
+ jobs:
14
+ image:
15
+ runner:
16
+ profile: oci-image
17
+ labels:
18
+ - builder
19
+ network:
20
+ mode: egress
21
+ allow:
22
+ - host: registry.npmjs.org
23
+ build:
24
+ context: .
25
+ dockerfile: Dockerfile_v##version##
26
+ platforms:
27
+ - linux/amd64
28
+ release:
29
+ runner:
30
+ profile: oci
31
+ labels:
32
+ - linux
33
+ execution:
34
+ profile: oci
35
+ image: registry.example/ci/node@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
36
+ network:
37
+ mode: egress
38
+ allow:
39
+ - host: registry.npmjs.org
40
+ steps:
41
+ - run:
42
+ - pnpm
43
+ - install
44
+ - --frozen-lockfile
45
+ - run:
46
+ - pnpm
47
+ - run
48
+ - release:prepare
49
+ artifacts:
50
+ - name: source
51
+ path: .nogit/release/source
52
+ when: success
53
+ required: true
54
+ maximumBytes: 1073741824
55
+ maximumExtractedBytes: 1073741824
56
+ maximumEntries: 16
57
+ - name: binaries
58
+ path: .nogit/release/binaries
59
+ when: success
60
+ required: true
61
+ maximumBytes: 1073741824
62
+ maximumExtractedBytes: 4294967296
63
+ maximumEntries: 16
64
+ - name: notes
65
+ path: .nogit/release/notes
66
+ when: success
67
+ required: true
68
+ maximumBytes: 1048576
69
+ maximumExtractedBytes: 1048576
70
+ maximumEntries: 1
71
+ - name: package
72
+ path: .nogit/release/package
73
+ when: success
74
+ required: true
75
+ maximumBytes: 104857600
76
+ maximumExtractedBytes: 104857600
77
+ maximumEntries: 1
78
+ publish:
79
+ order:
80
+ - releaseAssets
81
+ - npm
82
+ - images
83
+ releaseNotes:
84
+ artifact:
85
+ job: release
86
+ name: notes
87
+ images:
88
+ - candidate: image
89
+ destinations:
90
+ - registry: code.foss.global
91
+ repository: example/app
92
+ aliases:
93
+ - kind: version
94
+ prefix: v
95
+ - kind: version
96
+ prefix: base_
97
+ suffix: -alpine
98
+ - kind: literal
99
+ value: latest
100
+ npm:
101
+ - artifact:
102
+ job: release
103
+ name: package
104
+ registries:
105
+ - https://registry.npmjs.org
106
+ access: public
107
+ distTag: latest
108
+ releaseAssets:
109
+ - artifact:
110
+ job: release
111
+ name: source
112
+ - artifact:
113
+ job: release
114
+ name: binaries