@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,30 @@
1
+ spec: 2.0.0
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ pullRequest:
7
+ targetBranches:
8
+ - main
9
+ permissions:
10
+ source: read
11
+ artifacts: none
12
+ caches: none
13
+ images: none
14
+ npm: none
15
+ releaseAssets: none
16
+ jobs:
17
+ test:
18
+ triggers:
19
+ - push
20
+ runner:
21
+ profile: oci
22
+ labels:
23
+ - linux
24
+ execution:
25
+ profile: oci
26
+ image: registry.example/ci/node@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
27
+ steps:
28
+ - run:
29
+ - pnpm
30
+ - test
@@ -0,0 +1,33 @@
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: version
32
+ prefix: -v
33
+ suffix: ":alpine"
@@ -0,0 +1,32 @@
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
+ lint:
13
+ runner: &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
+ - lint
24
+ test:
25
+ runner: *runner
26
+ execution:
27
+ profile: oci
28
+ image: registry.example/test@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
29
+ steps:
30
+ - run:
31
+ - pnpm
32
+ - test
@@ -0,0 +1,27 @@
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
+ network:
23
+ mode: bridge
24
+ steps:
25
+ - run:
26
+ - pnpm
27
+ - test
@@ -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: 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
+ - darwin/arm64
@@ -0,0 +1,27 @@
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/amd64
24
+ steps:
25
+ - run:
26
+ - pnpm
27
+ - test
@@ -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
+ concurrency:
14
+ group: ""
15
+ cancelInProgress: true
16
+ jobs:
17
+ test:
18
+ runner:
19
+ profile: oci
20
+ labels:
21
+ - linux
22
+ execution:
23
+ profile: oci
24
+ image: registry.example/test@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
25
+ steps:
26
+ - run:
27
+ - pnpm
28
+ - test
@@ -0,0 +1,27 @@
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
+ concurrency:
14
+ group: test
15
+ jobs:
16
+ test:
17
+ runner:
18
+ profile: oci
19
+ labels:
20
+ - linux
21
+ execution:
22
+ profile: oci
23
+ image: registry.example/test@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
24
+ steps:
25
+ - run:
26
+ - pnpm
27
+ - test
@@ -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-image
17
+ labels:
18
+ - builder
19
+ execution:
20
+ profile: oci
21
+ image: registry.example/test@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
22
+ steps:
23
+ - run:
24
+ - pnpm
25
+ - test
@@ -0,0 +1,23 @@
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
+ - !custom pnpm
23
+ - test
@@ -0,0 +1,24 @@
1
+ spec: 2.0.0
2
+ on:
3
+ push: {}
4
+ permissions:
5
+ source: read
6
+ source: read
7
+ artifacts: none
8
+ caches: none
9
+ images: none
10
+ npm: none
11
+ releaseAssets: none
12
+ jobs:
13
+ test:
14
+ runner:
15
+ profile: oci
16
+ labels:
17
+ - linux
18
+ execution:
19
+ profile: oci
20
+ image: registry.example/test@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
21
+ steps:
22
+ - run:
23
+ - pnpm
24
+ - test
@@ -0,0 +1,29 @@
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
+ network:
23
+ mode: egress
24
+ allow:
25
+ - host: "*"
26
+ steps:
27
+ - run:
28
+ - pnpm
29
+ - test
@@ -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: 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
+ steps:
26
+ - run:
27
+ - pnpm
28
+ - test
@@ -0,0 +1,29 @@
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
+ network:
23
+ mode: egress
24
+ allow:
25
+ - host: 203.0.113.10
26
+ steps:
27
+ - run:
28
+ - pnpm
29
+ - test
@@ -0,0 +1,29 @@
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
+ network:
23
+ mode: egress
24
+ allow:
25
+ - host: "*.com"
26
+ steps:
27
+ - run:
28
+ - pnpm
29
+ - test
@@ -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: 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/amd64
24
+ permissions:
25
+ source: read
26
+ artifacts: none
27
+ caches: none
28
+ images: publish
@@ -0,0 +1,27 @@
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
+ triggers:
16
+ - tag
17
+ runner:
18
+ profile: oci
19
+ labels:
20
+ - linux
21
+ execution:
22
+ profile: oci
23
+ image: registry.example/ci/node@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
24
+ steps:
25
+ - run:
26
+ - pnpm
27
+ - test
@@ -0,0 +1,33 @@
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: literal
32
+ value: latest
33
+ prefix: v
@@ -0,0 +1,24 @@
1
+ on:
2
+ push:
3
+ branches:
4
+ - main
5
+ permissions:
6
+ source: read
7
+ artifacts: none
8
+ caches: none
9
+ images: none
10
+ npm: none
11
+ releaseAssets: none
12
+ jobs:
13
+ test:
14
+ runner:
15
+ profile: oci
16
+ labels:
17
+ - linux
18
+ execution:
19
+ profile: oci
20
+ image: registry.example/test@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
21
+ steps:
22
+ - run:
23
+ - pnpm
24
+ - test
@@ -0,0 +1,25 @@
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
+ ---
25
+ spec: 2.0.0
@@ -0,0 +1,33 @@
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/ci/node@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
22
+ network:
23
+ mode: egress
24
+ allow:
25
+ - host: npm.example.com
26
+ npmRead:
27
+ - registry: https://npm.example.com
28
+ scopes:
29
+ - example_private
30
+ steps:
31
+ - run:
32
+ - pnpm
33
+ - install
@@ -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
+ - macos
19
+ platform: darwin/arm64
20
+ execution:
21
+ profile: oci
22
+ image: registry.example/ci/node@sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
23
+ steps:
24
+ - run:
25
+ - ./scripts/test.sh
@@ -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: publish
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: version