@catladder/cli 0.0.0-fix-materialize-binary-image-files-37469f1f → 0.0.0-fix-github-artifact-symlinks-3a2c1c28

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 (90) hide show
  1. package/dist/bundles/catenv/index.js +454 -60
  2. package/dist/bundles/catenv/xdg-open +0 -0
  3. package/dist/bundles/cli/clipboard_i686.exe +0 -0
  4. package/dist/bundles/cli/clipboard_x86_64.exe +0 -0
  5. package/dist/bundles/cli/index.js +454 -60
  6. package/dist/bundles/cli/xdg-open +0 -0
  7. package/dist/bundles/cli/xsel +0 -0
  8. package/dist/bundles/runner-images/changesets/scripts/changesetsRelease +0 -0
  9. package/dist/bundles/runner-images/kubernetes/scripts/kubernetesCreateSecret +0 -0
  10. package/dist/bundles/runner-images/kubernetes/scripts/kubernetesDelete +0 -0
  11. package/dist/bundles/runner-images/kubernetes/scripts/kubernetesDeploy +0 -0
  12. package/dist/bundles/runner-images/kubernetes/scripts/kubernetesRollback +0 -0
  13. package/dist/bundles/skills/catladder-builds/SKILL.md +54 -2
  14. package/dist/bundles/skills/catladder-builds/references/build-types.md +11 -2
  15. package/dist/bundles/skills/catladder-config/SKILL.md +18 -7
  16. package/dist/bundles/skills/catladder-pipelines/SKILL.md +39 -20
  17. package/dist/packages/pipeline/src/backends/github/artifactArchive.d.ts +22 -0
  18. package/dist/packages/pipeline/src/backends/github/artifactArchive.js +84 -0
  19. package/dist/packages/pipeline/src/backends/github/artifactArchive.js.map +1 -0
  20. package/dist/packages/pipeline/src/backends/github/createGithubJobs.js +12 -29
  21. package/dist/packages/pipeline/src/backends/github/createGithubJobs.js.map +1 -1
  22. package/dist/packages/pipeline/src/backends/gitlab/GitlabBackend.js +3 -1
  23. package/dist/packages/pipeline/src/backends/gitlab/GitlabBackend.js.map +1 -1
  24. package/dist/packages/pipeline/src/backends/gitlab/getPipelineStages.d.ts +4 -1
  25. package/dist/packages/pipeline/src/backends/gitlab/getPipelineStages.js +11 -2
  26. package/dist/packages/pipeline/src/backends/gitlab/getPipelineStages.js.map +1 -1
  27. package/dist/packages/pipeline/src/build/docker.d.ts +6 -0
  28. package/dist/packages/pipeline/src/build/docker.js +49 -2
  29. package/dist/packages/pipeline/src/build/docker.js.map +1 -1
  30. package/dist/packages/pipeline/src/build/types.d.ts +33 -3
  31. package/dist/packages/pipeline/src/build/types.js.map +1 -1
  32. package/dist/packages/pipeline/src/config/configruedEnvs.js +7 -1
  33. package/dist/packages/pipeline/src/config/configruedEnvs.js.map +1 -1
  34. package/dist/packages/pipeline/src/context/getEnvInherit.d.ts +2 -2
  35. package/dist/packages/pipeline/src/context/getEnvInherit.js +5 -2
  36. package/dist/packages/pipeline/src/context/getEnvInherit.js.map +1 -1
  37. package/dist/packages/pipeline/src/context/getEnvInstance.d.ts +2 -2
  38. package/dist/packages/pipeline/src/context/getEnvInstance.js.map +1 -1
  39. package/dist/packages/pipeline/src/context/getEnvOn.d.ts +2 -2
  40. package/dist/packages/pipeline/src/context/getEnvOn.js +1 -1
  41. package/dist/packages/pipeline/src/context/getEnvOn.js.map +1 -1
  42. package/dist/packages/pipeline/src/context/getEnvType.d.ts +3 -3
  43. package/dist/packages/pipeline/src/context/getEnvType.js +1 -1
  44. package/dist/packages/pipeline/src/context/getEnvType.js.map +1 -1
  45. package/dist/packages/pipeline/src/context/getEnvironmentContext.js +3 -2
  46. package/dist/packages/pipeline/src/context/getEnvironmentContext.js.map +1 -1
  47. package/dist/packages/pipeline/src/deploy/base/deploy.js +15 -9
  48. package/dist/packages/pipeline/src/deploy/base/deploy.js.map +1 -1
  49. package/dist/packages/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js +3 -1
  50. package/dist/packages/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js.map +1 -1
  51. package/dist/packages/pipeline/src/deploy/cloudRun/utils/cloudRunExecutionUrl.d.ts +1 -1
  52. package/dist/packages/pipeline/src/deploy/cloudRun/utils/cloudRunExecutionUrl.js +6 -1
  53. package/dist/packages/pipeline/src/deploy/cloudRun/utils/cloudRunExecutionUrl.js.map +1 -1
  54. package/dist/packages/pipeline/src/index.d.ts +1 -0
  55. package/dist/packages/pipeline/src/index.js +1 -0
  56. package/dist/packages/pipeline/src/index.js.map +1 -1
  57. package/dist/packages/pipeline/src/pipeline/createJobsForComponent.js +12 -2
  58. package/dist/packages/pipeline/src/pipeline/createJobsForComponent.js.map +1 -1
  59. package/dist/packages/pipeline/src/pipeline/createJobsForWorkspace.js +7 -2
  60. package/dist/packages/pipeline/src/pipeline/createJobsForWorkspace.js.map +1 -1
  61. package/dist/packages/pipeline/src/pipeline/packageManager.js +6 -3
  62. package/dist/packages/pipeline/src/pipeline/packageManager.js.map +1 -1
  63. package/dist/packages/pipeline/src/pipeline/resolveRequirements.js +1 -0
  64. package/dist/packages/pipeline/src/pipeline/resolveRequirements.js.map +1 -1
  65. package/dist/packages/pipeline/src/postBuildTest/createPostBuildTestJobs.d.ts +16 -0
  66. package/dist/packages/pipeline/src/postBuildTest/createPostBuildTestJobs.js +167 -0
  67. package/dist/packages/pipeline/src/postBuildTest/createPostBuildTestJobs.js.map +1 -0
  68. package/dist/packages/pipeline/src/postBuildTest/index.d.ts +2 -0
  69. package/dist/packages/pipeline/src/postBuildTest/index.js +19 -0
  70. package/dist/packages/pipeline/src/postBuildTest/index.js.map +1 -0
  71. package/dist/packages/pipeline/src/postBuildTest/types.d.ts +61 -0
  72. package/dist/packages/pipeline/src/postBuildTest/types.js +3 -0
  73. package/dist/packages/pipeline/src/postBuildTest/types.js.map +1 -0
  74. package/dist/packages/pipeline/src/types/config.d.ts +20 -2
  75. package/dist/packages/pipeline/src/types/config.js +9 -1
  76. package/dist/packages/pipeline/src/types/config.js.map +1 -1
  77. package/dist/packages/pipeline/src/types/jobs.d.ts +2 -2
  78. package/dist/packages/pipeline/src/types/jobs.js +1 -0
  79. package/dist/packages/pipeline/src/types/jobs.js.map +1 -1
  80. package/dist/runner-images/changesets/scripts/changesetsRelease +0 -0
  81. package/dist/runner-images/kubernetes/scripts/kubernetesCreateSecret +0 -0
  82. package/dist/runner-images/kubernetes/scripts/kubernetesDelete +0 -0
  83. package/dist/runner-images/kubernetes/scripts/kubernetesDeploy +0 -0
  84. package/dist/runner-images/kubernetes/scripts/kubernetesRollback +0 -0
  85. package/dist/skills/catladder-builds/SKILL.md +54 -2
  86. package/dist/skills/catladder-builds/references/build-types.md +11 -2
  87. package/dist/skills/catladder-config/SKILL.md +18 -7
  88. package/dist/skills/catladder-pipelines/SKILL.md +39 -20
  89. package/dist/tsconfig.tsbuildinfo +1 -1
  90. package/package.json +1 -1
@@ -12,6 +12,7 @@ export * from "./context";
12
12
  export * from "./build";
13
13
  export * from "./deploy";
14
14
  export * from "./verify";
15
+ export * from "./postBuildTest";
15
16
  export * from "./release";
16
17
  export * from "./utils/writeFiles";
17
18
  export * from "./utils/measureTime";
@@ -28,6 +28,7 @@ __exportStar(require("./context"), exports);
28
28
  __exportStar(require("./build"), exports);
29
29
  __exportStar(require("./deploy"), exports);
30
30
  __exportStar(require("./verify"), exports);
31
+ __exportStar(require("./postBuildTest"), exports);
31
32
  __exportStar(require("./release"), exports);
32
33
  __exportStar(require("./utils/writeFiles"), exports);
33
34
  __exportStar(require("./utils/measureTime"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pipeline/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,+DAA6C;AAC7C,+DAA6C;AAC7C,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,qDAAmC;AACnC,sDAAoC;AACpC,kDAAgC;AAChC,2CAAyB;AACzB,gDAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pipeline/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,+DAA6C;AAC7C,+DAA6C;AAC7C,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB;AACxB,2CAAyB;AACzB,2CAAyB;AACzB,kDAAgC;AAChC,4CAA0B;AAC1B,qDAAmC;AACnC,sDAAoC;AACpC,kDAAgC;AAChC,2CAAyB;AACzB,gDAA8B"}
@@ -4,6 +4,7 @@ exports.createJobsForComponentContext = void 0;
4
4
  const build_1 = require("../build");
5
5
  const deploy_1 = require("../deploy");
6
6
  const jobs_1 = require("../types/jobs");
7
+ const createPostBuildTestJobs_1 = require("../postBuildTest/createPostBuildTestJobs");
7
8
  const createVerifyJobs_1 = require("../verify/createVerifyJobs");
8
9
  const injectDefaultVarsInCustomJobs = (context, jobs) => jobs.map(({ variables, ...job }) => {
9
10
  var _a;
@@ -23,17 +24,26 @@ const getCustomJobs = (context) => {
23
24
  return injectDefaultVarsInCustomJobs(context, rawJobs);
24
25
  };
25
26
  const createJobsForComponentContext = async (context) => {
26
- const [buildJobs, deployJobs, verifyJobs] = await Promise.all([
27
+ const [buildJobs, postBuildTestJobs, deployJobs, verifyJobs] = await Promise.all([
27
28
  context.build.type !== "disabled"
28
29
  ? build_1.BUILD_TYPES[context.build.buildType].jobs(context)
29
30
  : [],
31
+ (0, createPostBuildTestJobs_1.createPostBuildTestJobs)(context),
30
32
  context.componentConfig.deploy !== false
31
33
  ? deploy_1.DEPLOY_TYPES[context.componentConfig.deploy.type].jobs(context)
32
34
  : [],
33
35
  (0, createVerifyJobs_1.createVerifyJobs)(context),
34
36
  ]);
35
37
  const customJobs = getCustomJobs(context);
36
- return [...buildJobs, ...deployJobs, ...verifyJobs, ...customJobs];
38
+ const otherJobs = [...buildJobs, ...deployJobs, ...verifyJobs, ...customJobs];
39
+ (0, createPostBuildTestJobs_1.assertUniquePostBuildTestNames)(context, postBuildTestJobs, otherJobs);
40
+ return [
41
+ ...buildJobs,
42
+ ...postBuildTestJobs,
43
+ ...deployJobs,
44
+ ...verifyJobs,
45
+ ...customJobs,
46
+ ];
37
47
  };
38
48
  exports.createJobsForComponentContext = createJobsForComponentContext;
39
49
  //# sourceMappingURL=createJobsForComponent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createJobsForComponent.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/pipeline/createJobsForComponent.ts"],"names":[],"mappings":";;;AAAA,oCAAuC;AACvC,sCAAyC;AAMzC,wCAA6C;AAC7C,iEAA8D;AAE9D,MAAM,6BAA6B,GAAG,CACpC,OAAyB,EACzB,IAAwB,EACxB,EAAE,CACF,IAAI,CAAC,GAAG,CACN,CAAC,EAAE,SAAS,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE;;IACxB,OAAA,IAAI,mBAAY,CAAC;QACf,SAAS,EAAE;YACT,GAAG,CAAC,MAAA,OAAO,CAAC,WAAW,CAAC,OAAO,mCAAI,EAAE,CAAC;YACtC,GAAG,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC;SACrB;QACD,GAAG,GAAG;KACP,CAAC,CAAA;CAAA,CACL,CAAC;AACJ,MAAM,aAAa,GAAG,CAAC,OAAyB,EAAE,EAAE;IAClD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IACnC,OAAO,6BAA6B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC,CAAC;AACK,MAAM,6BAA6B,GAAG,KAAK,EAChD,OAAyB,EACA,EAAE;IAC3B,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC5D,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;YAC/B,CAAC,CAAC,mBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CACvC,OAAoC,CACrC;YACH,CAAC,CAAC,EAAE;QACN,OAAO,CAAC,eAAe,CAAC,MAAM,KAAK,KAAK;YACtC,CAAC,CAAC,qBAAY,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YACjE,CAAC,CAAC,EAAE;QACN,IAAA,mCAAgB,EAAC,OAAO,CAAC;KAC1B,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAE1C,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;AACrE,CAAC,CAAC;AAlBW,QAAA,6BAA6B,iCAkBxC"}
1
+ {"version":3,"file":"createJobsForComponent.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/pipeline/createJobsForComponent.ts"],"names":[],"mappings":";;;AAAA,oCAAuC;AACvC,sCAAyC;AAMzC,wCAA6C;AAC7C,sFAGkD;AAClD,iEAA8D;AAE9D,MAAM,6BAA6B,GAAG,CACpC,OAAyB,EACzB,IAAwB,EACxB,EAAE,CACF,IAAI,CAAC,GAAG,CACN,CAAC,EAAE,SAAS,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE;;IACxB,OAAA,IAAI,mBAAY,CAAC;QACf,SAAS,EAAE;YACT,GAAG,CAAC,MAAA,OAAO,CAAC,WAAW,CAAC,OAAO,mCAAI,EAAE,CAAC;YACtC,GAAG,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC;SACrB;QACD,GAAG,GAAG;KACP,CAAC,CAAA;CAAA,CACL,CAAC;AACJ,MAAM,aAAa,GAAG,CAAC,OAAyB,EAAE,EAAE;IAClD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IACnC,OAAO,6BAA6B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACzD,CAAC,CAAC;AACK,MAAM,6BAA6B,GAAG,KAAK,EAChD,OAAyB,EACA,EAAE;IAC3B,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,CAAC,GAC1D,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU;YAC/B,CAAC,CAAC,mBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CACvC,OAAoC,CACrC;YACH,CAAC,CAAC,EAAE;QACN,IAAA,iDAAuB,EAAC,OAAO,CAAC;QAChC,OAAO,CAAC,eAAe,CAAC,MAAM,KAAK,KAAK;YACtC,CAAC,CAAC,qBAAY,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YACjE,CAAC,CAAC,EAAE;QACN,IAAA,mCAAgB,EAAC,OAAO,CAAC;KAC1B,CAAC,CAAC;IAEL,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;IAC9E,IAAA,wDAA8B,EAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAEtE,OAAO;QACL,GAAG,SAAS;QACZ,GAAG,iBAAiB;QACpB,GAAG,UAAU;QACb,GAAG,UAAU;QACb,GAAG,UAAU;KACd,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,6BAA6B,iCA4BxC"}
@@ -2,9 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createJobsForWorkspace = void 0;
4
4
  const build_1 = require("../build");
5
+ const createPostBuildTestJobs_1 = require("../postBuildTest/createPostBuildTestJobs");
5
6
  const createJobsForWorkspace = async (context) => {
6
- const buildJobs = await build_1.WORKSPACE_BUILD_TYPES[context.build.buildType].jobs(context);
7
- return buildJobs;
7
+ const [buildJobs, postBuildTestJobs] = await Promise.all([
8
+ build_1.WORKSPACE_BUILD_TYPES[context.build.buildType].jobs(context),
9
+ (0, createPostBuildTestJobs_1.createPostBuildTestJobs)(context),
10
+ ]);
11
+ (0, createPostBuildTestJobs_1.assertUniquePostBuildTestNames)(context, postBuildTestJobs, buildJobs);
12
+ return [...buildJobs, ...postBuildTestJobs];
8
13
  };
9
14
  exports.createJobsForWorkspace = createJobsForWorkspace;
10
15
  //# sourceMappingURL=createJobsForWorkspace.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createJobsForWorkspace.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/pipeline/createJobsForWorkspace.ts"],"names":[],"mappings":";;;AAAA,oCAAiD;AAI1C,MAAM,sBAAsB,GAAG,KAAK,EACzC,OAAyB,EACA,EAAE;IAC3B,MAAM,SAAS,GACb,MAAM,6BAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAErE,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAPW,QAAA,sBAAsB,0BAOjC"}
1
+ {"version":3,"file":"createJobsForWorkspace.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/pipeline/createJobsForWorkspace.ts"],"names":[],"mappings":";;;AAAA,oCAAiD;AACjD,sFAGkD;AAI3C,MAAM,sBAAsB,GAAG,KAAK,EACzC,OAAyB,EACA,EAAE;IAC3B,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvD,6BAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAC5D,IAAA,iDAAuB,EAAC,OAAO,CAAC;KACjC,CAAC,CAAC;IACH,IAAA,wDAA8B,EAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAEtE,OAAO,CAAC,GAAG,SAAS,EAAE,GAAG,iBAAiB,CAAC,CAAC;AAC9C,CAAC,CAAC;AAVW,QAAA,sBAAsB,0BAUjC"}
@@ -59,15 +59,18 @@ const getPackageManagerInfoForComponent = async (config, componentName) => {
59
59
  const patchFiles = baseInfo.type === "pnpm"
60
60
  ? (0, pnpmUtils_1.getPnpmPatchFiles)(componentIsInWorkspace ? workspaceRoot : component.dir)
61
61
  : [];
62
+ // sort the variable parts: their order depends on package.json key order
63
+ // and dependency traversal, and an unstable order rewrites the generated
64
+ // pipeline files on every regeneration without any real change
62
65
  const pathsToCopyInDocker = [
63
66
  ...new Set([
64
67
  packageJson,
65
68
  ...(workspacePackageJson ? [workspacePackageJson] : []),
66
69
  lockFile,
67
70
  ...configFilePaths,
68
- ...allWorkspaceManifests,
69
- ...patchFiles,
70
- ...currentWorkspaceDependencies,
71
+ ...[...allWorkspaceManifests].sort(),
72
+ ...[...patchFiles].sort(),
73
+ ...[...currentWorkspaceDependencies].sort(),
71
74
  ]),
72
75
  ];
73
76
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"packageManager.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/pipeline/packageManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packageManager.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/pipeline/packageManager.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ exports.resolveRequirements = void 0;
9
9
  const DEFAULT_STAGE_CAPABILITIES = {
10
10
  build: "build",
11
11
  test: "qualityGate",
12
+ "post-build": "qualityGate",
12
13
  deploy: "deployment",
13
14
  };
14
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"resolveRequirements.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/pipeline/resolveRequirements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveRequirements.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/pipeline/resolveRequirements.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { ComponentContext, WorkspaceContext } from "../types/context";
2
+ import { CatladderJob } from "../types/jobs";
3
+ export declare const POST_BUILD_TEST_STAGE = "post-build";
4
+ export declare const postBuildTestJobName: (name: string) => string;
5
+ /**
6
+ * jobs for `postBuildTests`: they run after the build in the `post-build`
7
+ * stage, against the build artifacts, and act as quality gates, so a
8
+ * failing post-build test blocks the deploy.
9
+ */
10
+ export declare const createPostBuildTestJobs: (context: ComponentContext | WorkspaceContext) => Promise<CatladderJob[]>;
11
+ /**
12
+ * post-build test names are chosen by the user. Github job ids drop the
13
+ * emoji of the job name, so e.g. a post-build test named `test` would
14
+ * clash with the `🧪 test` job.
15
+ */
16
+ export declare const assertUniquePostBuildTestNames: (context: ComponentContext | WorkspaceContext, postBuildTestJobs: CatladderJob[], otherJobs: CatladderJob[]) => void;
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertUniquePostBuildTestNames = exports.createPostBuildTestJobs = exports.postBuildTestJobName = exports.POST_BUILD_TEST_STAGE = void 0;
4
+ const createArtifactsConfig_1 = require("../build/base/createArtifactsConfig");
5
+ const cache_1 = require("../build/node/cache");
6
+ const constants_1 = require("../build/node/constants");
7
+ const packageManagerInstall_1 = require("../build/node/packageManagerInstall");
8
+ const types_1 = require("../build/types");
9
+ const runner_1 = require("../runner");
10
+ const jobs_1 = require("../types/jobs");
11
+ const utils_1 = require("../utils");
12
+ exports.POST_BUILD_TEST_STAGE = "post-build";
13
+ const postBuildTestJobName = (name) => `🔬 ${name}`;
14
+ exports.postBuildTestJobName = postBuildTestJobName;
15
+ const getPostBuildTestsConfig = (context) => {
16
+ if (context.type === "workspace") {
17
+ return context.build.config.postBuildTests;
18
+ }
19
+ if (context.build.type === "disabled") {
20
+ return undefined;
21
+ }
22
+ return context.build.config.postBuildTests;
23
+ };
24
+ /**
25
+ * whether the build output is a node project, so the job has to install
26
+ * the dependencies before running the tests
27
+ */
28
+ const isNodeBuild = (context) => {
29
+ if (context.type === "workspace") {
30
+ return true; // workspace builds are node builds
31
+ }
32
+ if (context.build.type === "fromWorkspace") {
33
+ return true;
34
+ }
35
+ if (context.build.type === "standalone") {
36
+ return (0, types_1.isOfBuildType)(context.build.config, "node", "node-static", "storybook", "meteor");
37
+ }
38
+ return false;
39
+ };
40
+ const hasBuildCommand = (buildCommand) => buildCommand !== null && buildCommand !== false;
41
+ /**
42
+ * whether the build creates an app build job with artifacts. Rails builds
43
+ * and builds with `buildCommand: false` only build the docker image.
44
+ */
45
+ const hasBuildArtifacts = (context) => {
46
+ if (context.type === "workspace") {
47
+ return hasBuildCommand(context.build.config.buildCommand);
48
+ }
49
+ if (context.build.type === "fromWorkspace") {
50
+ return hasBuildCommand(context.build.workspaceBuildConfig.buildCommand);
51
+ }
52
+ if (context.build.type === "standalone") {
53
+ return (!(0, types_1.isOfBuildType)(context.build.config, "rails") &&
54
+ hasBuildCommand(context.build.config.buildCommand));
55
+ }
56
+ return false;
57
+ };
58
+ const getDefaultImage = (context) => {
59
+ if (context.type === "component" &&
60
+ context.build.type === "standalone" &&
61
+ (0, types_1.isOfBuildType)(context.build.config, "custom")) {
62
+ // custom builds bring their own toolchain image
63
+ return context.build.config.jobImage;
64
+ }
65
+ return (0, runner_1.getRunnerImage)("jobs-default");
66
+ };
67
+ /**
68
+ * jobs for `postBuildTests`: they run after the build in the `post-build`
69
+ * stage, against the build artifacts, and act as quality gates, so a
70
+ * failing post-build test blocks the deploy.
71
+ */
72
+ const createPostBuildTestJobs = async (context) => {
73
+ var _a;
74
+ // like lint and test: tagged releases deploy what was already tested
75
+ if (context.trigger === "taggedRelease") {
76
+ return [];
77
+ }
78
+ const tests = Object.entries((_a = getPostBuildTestsConfig(context)) !== null && _a !== void 0 ? _a : {}).filter((entry) => entry[1] !== false);
79
+ if (tests.length === 0) {
80
+ return [];
81
+ }
82
+ const nodeBuild = isNodeBuild(context);
83
+ const [packageManagerInstall, nodeCache] = nodeBuild
84
+ ? await Promise.all([
85
+ (0, packageManagerInstall_1.getPackageManagerInstall)(context),
86
+ // pull-only: the build job is the designated cache writer
87
+ (0, cache_1.getNodeCache)(context, "pull"),
88
+ ])
89
+ : [null, null];
90
+ // components built in a workspace test the workspace build output
91
+ const from = context.type === "component" && context.build.type === "fromWorkspace"
92
+ ? { workspace: context.build.workspaceName }
93
+ : undefined;
94
+ const buildRequirement = hasBuildArtifacts(context)
95
+ ? { capability: "buildArtifacts", artifacts: true, strict: true, from }
96
+ : // no build artifacts (e.g. rails): run after the build (docker image)
97
+ { capability: "build", artifacts: false, from };
98
+ return tests.map(([name, test]) => {
99
+ var _a, _b, _c;
100
+ const artifactsConfig = (0, createArtifactsConfig_1.createArtifactsConfig)(context.build.dir, test.artifactsReports, test.artifacts);
101
+ return new jobs_1.CatladderJob({
102
+ name: (0, exports.postBuildTestJobName)(name),
103
+ stage: exports.POST_BUILD_TEST_STAGE,
104
+ envMode: "stagePerEnv",
105
+ provides: ["qualityGate"],
106
+ needs: [],
107
+ requires: [buildRequirement],
108
+ image: (_a = test.jobImage) !== null && _a !== void 0 ? _a : getDefaultImage(context),
109
+ services: test.services,
110
+ // neutral cache declarations, lowered by each backend
111
+ caches: nodeCache !== null && nodeCache !== void 0 ? nodeCache : undefined,
112
+ variables: {
113
+ APP_PATH: context.build.dir,
114
+ ...(context.type === "component"
115
+ ? context.environment.jobOnlyVars.build.envVars
116
+ : {}),
117
+ ...((_b = test.vars) !== null && _b !== void 0 ? _b : {}),
118
+ },
119
+ runnerVariables: {
120
+ ...(nodeBuild ? constants_1.NODE_RUNNER_BUILD_VARIABLES : {}),
121
+ ...((_c = test.runnerVariables) !== null && _c !== void 0 ? _c : {}),
122
+ },
123
+ script: [
124
+ ...(nodeBuild ? (0, packageManagerInstall_1.ensureNodeVersion)(context) : []),
125
+ `cd ${context.build.dir}`,
126
+ ...(packageManagerInstall !== null && packageManagerInstall !== void 0 ? packageManagerInstall : []),
127
+ ...(0, utils_1.ensureArray)(test.command),
128
+ ],
129
+ allow_failure: test.allowFailure,
130
+ // reports and screenshots are most needed when the tests fail
131
+ ...(artifactsConfig
132
+ ? {
133
+ artifacts: {
134
+ when: "always",
135
+ ...artifactsConfig.artifacts,
136
+ },
137
+ }
138
+ : {}),
139
+ });
140
+ });
141
+ };
142
+ exports.createPostBuildTestJobs = createPostBuildTestJobs;
143
+ const jobIdOf = (jobName) => jobName
144
+ .toLowerCase()
145
+ .replace(/[^a-z0-9]+/g, "-")
146
+ .replace(/^-+|-+$/g, "");
147
+ /**
148
+ * post-build test names are chosen by the user. Github job ids drop the
149
+ * emoji of the job name, so e.g. a post-build test named `test` would
150
+ * clash with the `🧪 test` job.
151
+ */
152
+ const assertUniquePostBuildTestNames = (context, postBuildTestJobs, otherJobs) => {
153
+ const seenIds = new Set(otherJobs.map((job) => jobIdOf(job.name)));
154
+ // also catches two post-build tests that only differ in case or
155
+ // punctuation (e.g. `e2e` and `E2E`)
156
+ const clash = postBuildTestJobs.find((job) => {
157
+ const id = jobIdOf(job.name);
158
+ const isClash = seenIds.has(id);
159
+ seenIds.add(id);
160
+ return isClash;
161
+ });
162
+ if (clash) {
163
+ throw new Error(`${context.name}: post-build test '${clash.name}' clashes with another job of the same name, please rename it in postBuildTests`);
164
+ }
165
+ };
166
+ exports.assertUniquePostBuildTestNames = assertUniquePostBuildTestNames;
167
+ //# sourceMappingURL=createPostBuildTestJobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createPostBuildTestJobs.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/postBuildTest/createPostBuildTestJobs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./types";
2
+ export * from "./createPostBuildTestJobs";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./types"), exports);
18
+ __exportStar(require("./createPostBuildTestJobs"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/postBuildTest/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,4DAA0C"}
@@ -0,0 +1,61 @@
1
+ import type { TestJobCustom } from "../build/types";
2
+ import type { Services } from "../types/gitlab-ci-yml";
3
+ /**
4
+ * a test job that runs after the build, against the build output, and
5
+ * blocks the deploy when it fails (e.g. an e2e suite against the
6
+ * production build with a database service)
7
+ */
8
+ export type PostBuildTestConfig = TestJobCustom & {
9
+ /**
10
+ * command(s) to run, in the build directory (component dir, or the
11
+ * workspace dir for workspace builds). The build artifacts (e.g.
12
+ * `dist`, `.next`) are already in place and dependencies are
13
+ * installed for node builds.
14
+ *
15
+ * The command is responsible for starting the app if it needs one,
16
+ * e.g. via playwright's `webServer` option running `next start`.
17
+ */
18
+ command: string | string[];
19
+ /**
20
+ * services the job needs, e.g. a database:
21
+ *
22
+ * ```ts
23
+ * services: [{
24
+ * name: "postgres:17",
25
+ * alias: "postgres",
26
+ * variables: { POSTGRES_PASSWORD: "postgres" },
27
+ * }]
28
+ * ```
29
+ *
30
+ * The service is reachable by its alias as hostname. On github,
31
+ * `command` and `entrypoint` of a service are not supported.
32
+ */
33
+ services?: Services;
34
+ /**
35
+ * variables for this job, e.g. `DATABASE_URL` pointing to a service
36
+ * or `BASE_URL` for the test runner.
37
+ *
38
+ * The job gets the build vars of the component (like the build and
39
+ * test jobs), but not the runtime vars and secrets of the deployed
40
+ * environment: post-build tests run before the deploy, also for
41
+ * merge requests, and should use their own services.
42
+ */
43
+ vars?: Record<string, string>;
44
+ };
45
+ /**
46
+ * named post-build tests: each entry becomes its own job in the
47
+ * `post-build` stage. Set an entry to `false` to disable it (e.g. in an
48
+ * env-specific override).
49
+ */
50
+ export type PostBuildTestsConfig = Record<string, PostBuildTestConfig | false>;
51
+ export type WithPostBuildTests = {
52
+ /**
53
+ * tests that run after the build against the build output, in the
54
+ * `post-build` stage between build and deploy. A failing post-build
55
+ * test blocks the deploy.
56
+ *
57
+ * Each entry becomes its own job, e.g. `{ e2e: { command: "pnpm test:e2e" } }`.
58
+ * Post-build tests don't run in tagged-release pipelines (like lint and test).
59
+ */
60
+ postBuildTests?: PostBuildTestsConfig;
61
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/postBuildTest/types.ts"],"names":[],"mappings":""}
@@ -170,7 +170,10 @@ export type EnvironmentConfig = {
170
170
  * `{ branch: "next" }` deploys the env on pushes to that branch —
171
171
  * one stable environment tracking a long-lived branch.
172
172
  *
173
- * `false` removes the env from all pipelines.
173
+ * `false` keeps the env but never deploys it from a pipeline (like
174
+ * `local`): it still exists for `catladder project setup`, secrets and
175
+ * catenv. To remove an env from the project entirely, disable it
176
+ * instead: `environments: { stage: false }`.
174
177
  */
175
178
  on?: EnvOnConfig;
176
179
  /**
@@ -220,6 +223,18 @@ export type EnvironmentConfig = {
220
223
  * Inheriting from `local` is not possible, chains are followed, cycles
221
224
  * are an error.
222
225
  */
226
+ /**
227
+ * the top-level `environments` config: per env either its project-wide
228
+ * declaration/tuning, or `false` to disable the env for the whole
229
+ * project (all components, setup, secrets, pipelines, catenv).
230
+ */
231
+ export type EnvironmentsConfig = Record<string, EnvironmentConfig | false>;
232
+ /**
233
+ * the project-wide config of `env` (undefined when not declared or
234
+ * disabled)
235
+ */
236
+ export declare const getEnvironmentConfig: (environments: EnvironmentsConfig | undefined, env: string) => EnvironmentConfig | undefined;
237
+ export declare const isEnvironmentDisabled: (environments: EnvironmentsConfig | undefined, env: string) => boolean;
223
238
  export type EnvironmentInheritConfig = string | {
224
239
  /** env whose per-component config overrides are inherited */
225
240
  config?: string;
@@ -430,8 +445,11 @@ export type Config<C extends ConfigProps = never> = {
430
445
  * - declare an extra env (every component deploys to it unless it
431
446
  * opts out with `env.<name>: false`):
432
447
  * `environments: { next: { type: "dev", on: { branch: "next" } } }`
448
+ * - disable an env for the whole project (no setup, secrets, jobs or
449
+ * catenv for any component): `environments: { stage: false }`.
450
+ * A single component opts out with `env.<name>: false` instead.
433
451
  */
434
- environments?: Record<string, EnvironmentConfig>;
452
+ environments?: EnvironmentsConfig;
435
453
  /**
436
454
  * components (sub apps)
437
455
  */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isKnowEnvType = exports.DEFAULT_ENV_TYPES = exports.DEFAULT_ENVS = exports.ENV_TYPES = exports.envTriggerEquals = exports.isBranchTrigger = exports.ALL_PIPELINE_TRIGGERS = void 0;
3
+ exports.isEnvironmentDisabled = exports.getEnvironmentConfig = exports.isKnowEnvType = exports.DEFAULT_ENV_TYPES = exports.DEFAULT_ENVS = exports.ENV_TYPES = exports.envTriggerEquals = exports.isBranchTrigger = exports.ALL_PIPELINE_TRIGGERS = void 0;
4
4
  exports.ALL_PIPELINE_TRIGGERS = [
5
5
  "mainBranch",
6
6
  "mr",
@@ -43,4 +43,12 @@ const isKnowEnvType = (env) => {
43
43
  return env in exports.ENV_TYPES;
44
44
  };
45
45
  exports.isKnowEnvType = isKnowEnvType;
46
+ /**
47
+ * the project-wide config of `env` (undefined when not declared or
48
+ * disabled)
49
+ */
50
+ const getEnvironmentConfig = (environments, env) => (environments === null || environments === void 0 ? void 0 : environments[env]) || undefined;
51
+ exports.getEnvironmentConfig = getEnvironmentConfig;
52
+ const isEnvironmentDisabled = (environments, env) => (environments === null || environments === void 0 ? void 0 : environments[env]) === false;
53
+ exports.isEnvironmentDisabled = isEnvironmentDisabled;
46
54
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/types/config.ts"],"names":[],"mappings":";;;AAea,QAAA,qBAAqB,GAAG;IACnC,YAAY;IACZ,IAAI;IACJ,eAAe;CACP,CAAC;AAoBJ,MAAM,eAAe,GAAG,CAC7B,OAA2B,EACO,EAAE,CACpC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,QAAQ,IAAI,OAAO,CAAC;AAH5D,QAAA,eAAe,mBAG6C;AAElE,MAAM,gBAAgB,GAAG,CAC9B,CAA0B,EAC1B,CAAqB,EACZ,EAAE;IACX,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACjD,IAAI,IAAA,uBAAe,EAAC,CAAC,CAAC;QAAE,OAAO,IAAA,uBAAe,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC;IAC3E,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC,CAAC;AAPW,QAAA,gBAAgB,oBAO3B;AAEF;;;GAGG;AACU,QAAA,SAAS,GAAG;IACvB,GAAG,EAAE;QACH,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,CAAC,IAAI,CAAC;KACjB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,CAAC,eAAe,CAAC;KAC5B;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC,eAAe,CAAC;KAC5B;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;KACb;CACO,CAAC;AAEE,QAAA,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAC;AACtC,QAAA,iBAAiB,GAAG,oBAAyB,CAAC;AAGpD,MAAM,aAAa,GAAG,CAAC,GAAW,EAAkB,EAAE;IAC3D,OAAO,GAAG,IAAI,iBAAS,CAAC;AAC1B,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/types/config.ts"],"names":[],"mappings":";;;AAea,QAAA,qBAAqB,GAAG;IACnC,YAAY;IACZ,IAAI;IACJ,eAAe;CACP,CAAC;AAoBJ,MAAM,eAAe,GAAG,CAC7B,OAA2B,EACO,EAAE,CACpC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,QAAQ,IAAI,OAAO,CAAC;AAH5D,QAAA,eAAe,mBAG6C;AAElE,MAAM,gBAAgB,GAAG,CAC9B,CAA0B,EAC1B,CAAqB,EACZ,EAAE;IACX,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACjD,IAAI,IAAA,uBAAe,EAAC,CAAC,CAAC;QAAE,OAAO,IAAA,uBAAe,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC;IAC3E,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC,CAAC;AAPW,QAAA,gBAAgB,oBAO3B;AAEF;;;GAGG;AACU,QAAA,SAAS,GAAG;IACvB,GAAG,EAAE;QACH,QAAQ,EAAE,CAAC,YAAY,CAAC;KACzB;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,CAAC,IAAI,CAAC;KACjB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,CAAC,eAAe,CAAC;KAC5B;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,CAAC,eAAe,CAAC;KAC5B;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,EAAE;KACb;CACO,CAAC;AAEE,QAAA,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAC;AACtC,QAAA,iBAAiB,GAAG,oBAAyB,CAAC;AAGpD,MAAM,aAAa,GAAG,CAAC,GAAW,EAAkB,EAAE;IAC3D,OAAO,GAAG,IAAI,iBAAS,CAAC;AAC1B,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAmMF;;;GAGG;AACI,MAAM,oBAAoB,GAAG,CAClC,YAA4C,EAC5C,GAAW,EACoB,EAAE,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,GAAG,CAAC,KAAI,SAAS,CAAC;AAHxD,QAAA,oBAAoB,wBAGoC;AAE9D,MAAM,qBAAqB,GAAG,CACnC,YAA4C,EAC5C,GAAW,EACF,EAAE,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,GAAG,CAAC,MAAK,KAAK,CAAC;AAH/B,QAAA,qBAAqB,yBAGU"}
@@ -16,7 +16,7 @@ export type CatladderJobCache = GitlabJobCache & {
16
16
  cacheId?: string;
17
17
  redundantOnExactHitOf?: string;
18
18
  };
19
- export declare const BASE_STAGES: readonly ["setup", "test", "build", "deploy", "verify", "agents", "rollback", "stop"];
19
+ export declare const BASE_STAGES: readonly ["setup", "test", "build", "post-build", "deploy", "verify", "agents", "rollback", "stop"];
20
20
  export type BaseStage = (typeof BASE_STAGES)[number];
21
21
  export type CatladderJobNeed = string | {
22
22
  job: string;
@@ -130,7 +130,7 @@ export type CatladderJobCore<S = BaseStage> = {
130
130
  /**
131
131
  * the capabilities this job provides to other jobs.
132
132
  * If not set, it is derived from the stage:
133
- * build -> "build", test -> "qualityGate", deploy -> "deployment"
133
+ * build -> "build", test and post-build -> "qualityGate", deploy -> "deployment"
134
134
  */
135
135
  provides?: CapabilityName[];
136
136
  /**
@@ -6,6 +6,7 @@ exports.BASE_STAGES = [
6
6
  "setup",
7
7
  "test",
8
8
  "build",
9
+ "post-build",
9
10
  "deploy",
10
11
  "verify",
11
12
  "agents",
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/types/jobs.ts"],"names":[],"mappings":";;;AAIA,8DAA2D;AAsB9C,QAAA,WAAW,GAAG;IACzB,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,MAAM;CACE,CAAC;AAWE,QAAA,YAAY,GAAG;IAC1B,OAAO;IACP,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,YAAY;CACJ,CAAC;AAuOX;;;;;;;GAOG;AACH,4JAA4J;AAC5J,MAAa,YAAY;IACvB,YAAY,IAAyB;QACnC,uDAAuD;QACvD,2DAA2D;QAC3D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAA,iCAAe,EAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,IAAI,CACT,GAAkD;QAElD,OAAO,GAAG,YAAY,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;CACF;AAZD,oCAYC"}
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/types/jobs.ts"],"names":[],"mappings":";;;AAIA,8DAA2D;AAsB9C,QAAA,WAAW,GAAG;IACzB,OAAO;IACP,MAAM;IACN,OAAO;IACP,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,MAAM;CACE,CAAC;AAWE,QAAA,YAAY,GAAG;IAC1B,OAAO;IACP,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,YAAY;CACJ,CAAC;AAuOX;;;;;;;GAOG;AACH,4JAA4J;AAC5J,MAAa,YAAY;IACvB,YAAY,IAAyB;QACnC,uDAAuD;QACvD,2DAA2D;QAC3D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAA,iCAAe,EAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,IAAI,CACT,GAAkD;QAElD,OAAO,GAAG,YAAY,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;CACF;AAZD,oCAYC"}