@catladder/cli 3.13.1 → 3.14.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.
- package/dist/bundles/catenv/index.js +3 -3
- package/dist/bundles/cli/index.js +9 -9
- package/dist/cli/src/apps/cli/commands/project/setup/index.js +2 -0
- package/dist/cli/src/apps/cli/commands/project/setup/index.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupAgents.d.ts +2 -0
- package/dist/cli/src/apps/cli/commands/project/setup/setupAgents.js +155 -0
- package/dist/cli/src/apps/cli/commands/project/setup/setupAgents.js.map +1 -0
- package/dist/cli/src/config/getProjectConfig.js +4 -1
- package/dist/cli/src/config/getProjectConfig.js.map +1 -1
- package/dist/pipeline/src/bash/bashEscape.d.ts +2 -0
- package/dist/pipeline/src/bash/bashEscape.js +5 -1
- package/dist/pipeline/src/bash/bashEscape.js.map +1 -1
- package/dist/pipeline/src/pipeline/agent/createAgentContext.d.ts +6 -0
- package/dist/pipeline/src/pipeline/agent/createAgentContext.js +19 -0
- package/dist/pipeline/src/pipeline/agent/createAgentContext.js.map +1 -0
- package/dist/pipeline/src/pipeline/agent/createAgentEventJob.d.ts +2 -0
- package/dist/pipeline/src/pipeline/agent/createAgentEventJob.js +37 -0
- package/dist/pipeline/src/pipeline/agent/createAgentEventJob.js.map +1 -0
- package/dist/pipeline/src/pipeline/agent/createAgentReviewJob.d.ts +2 -0
- package/dist/pipeline/src/pipeline/agent/createAgentReviewJob.js +34 -0
- package/dist/pipeline/src/pipeline/agent/createAgentReviewJob.js.map +1 -0
- package/dist/pipeline/src/pipeline/agent/createJobsForAgentContext.d.ts +2 -0
- package/dist/pipeline/src/pipeline/agent/createJobsForAgentContext.js +10 -0
- package/dist/pipeline/src/pipeline/agent/createJobsForAgentContext.js.map +1 -0
- package/dist/pipeline/src/pipeline/agent/prompts.d.ts +6 -0
- package/dist/pipeline/src/pipeline/agent/prompts.js +221 -0
- package/dist/pipeline/src/pipeline/agent/prompts.js.map +1 -0
- package/dist/pipeline/src/pipeline/agent/shared.d.ts +6 -0
- package/dist/pipeline/src/pipeline/agent/shared.js +30 -0
- package/dist/pipeline/src/pipeline/agent/shared.js.map +1 -0
- package/dist/pipeline/src/pipeline/agent/utils.d.ts +3 -0
- package/dist/pipeline/src/pipeline/agent/utils.js +14 -0
- package/dist/pipeline/src/pipeline/agent/utils.js.map +1 -0
- package/dist/pipeline/src/pipeline/createAllJobs.d.ts +5 -1
- package/dist/pipeline/src/pipeline/createAllJobs.js +10 -1
- package/dist/pipeline/src/pipeline/createAllJobs.js.map +1 -1
- package/dist/pipeline/src/pipeline/createJobsForComponent.js.map +1 -1
- package/dist/pipeline/src/pipeline/createMainPipeline.js +13 -4
- package/dist/pipeline/src/pipeline/createMainPipeline.js.map +1 -1
- package/dist/pipeline/src/pipeline/gitlab/createGitlabJobs.d.ts +3 -3
- package/dist/pipeline/src/pipeline/gitlab/createGitlabJobs.js +18 -9
- package/dist/pipeline/src/pipeline/gitlab/createGitlabJobs.js.map +1 -1
- package/dist/pipeline/src/pipeline/gitlab/createGitlabPipeline.js +7 -0
- package/dist/pipeline/src/pipeline/gitlab/createGitlabPipeline.js.map +1 -1
- package/dist/pipeline/src/rules/index.d.ts +1 -0
- package/dist/pipeline/src/rules/index.js +8 -1
- package/dist/pipeline/src/rules/index.js.map +1 -1
- package/dist/pipeline/src/types/agent.d.ts +7 -0
- package/dist/pipeline/src/types/agent.js +3 -0
- package/dist/pipeline/src/types/agent.js.map +1 -0
- package/dist/pipeline/src/types/config.d.ts +2 -0
- package/dist/pipeline/src/types/config.js.map +1 -1
- package/dist/pipeline/src/types/context.d.ts +7 -0
- package/dist/pipeline/src/types/context.js.map +1 -1
- package/dist/pipeline/src/types/index.d.ts +1 -0
- package/dist/pipeline/src/types/index.js +1 -0
- package/dist/pipeline/src/types/index.js.map +1 -1
- package/dist/pipeline/src/types/jobs.d.ts +5 -1
- package/dist/pipeline/src/types/jobs.js +1 -0
- package/dist/pipeline/src/types/jobs.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/apps/cli/commands/project/setup/index.ts +2 -0
- package/src/apps/cli/commands/project/setup/setupAgents.ts +319 -0
- package/src/config/getProjectConfig.ts +8 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RULES_MANUAL_RELEASE = exports.RULES_RELEASE = exports.RULE_CONDITION_HOTFIX_BRANCH = exports.RULE_IS_TAGGED_RELEASE = exports.RULE_IS_MERGE_REQUEST = exports.RULE_NEVER_ON_SCHEDULE = exports.RULE_NEVER_ON_RELEASE_COMMIT = exports.RULE_IS_MAIN_BRANCH_AND_NOT_RELEASE_COMMIT = exports.RULE_IS_MAIN_BRANCH = exports.RULE_CONDITION_NOT_RELEASE_COMMIT = exports.RULE_CONDITION_RELEASE_COMMIT = exports.RULE_CONDITION_MAIN_BRANCH = void 0;
|
|
3
|
+
exports.RULES_MANUAL_RELEASE = exports.RULES_RELEASE = exports.RULE_CONDITION_HOTFIX_BRANCH = exports.RULE_IS_TAGGED_RELEASE = exports.RULE_IS_MERGE_REQUEST = exports.RULE_NEVER_ON_SCHEDULE = exports.RULE_NEVER_ON_AGENT_TRIGGER = exports.RULE_NEVER_ON_RELEASE_COMMIT = exports.RULE_IS_MAIN_BRANCH_AND_NOT_RELEASE_COMMIT = exports.RULE_IS_MAIN_BRANCH = exports.RULE_CONDITION_NOT_RELEASE_COMMIT = exports.RULE_CONDITION_RELEASE_COMMIT = exports.RULE_CONDITION_MAIN_BRANCH = void 0;
|
|
4
4
|
exports.RULE_CONDITION_MAIN_BRANCH = "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH";
|
|
5
5
|
exports.RULE_CONDITION_RELEASE_COMMIT = "$CI_COMMIT_MESSAGE =~ /^chore\\(release\\).*/";
|
|
6
6
|
exports.RULE_CONDITION_NOT_RELEASE_COMMIT = "$CI_COMMIT_MESSAGE !~ /^chore\\(release\\).*/";
|
|
@@ -14,6 +14,11 @@ exports.RULE_NEVER_ON_RELEASE_COMMIT = {
|
|
|
14
14
|
if: exports.RULE_CONDITION_RELEASE_COMMIT,
|
|
15
15
|
when: "never",
|
|
16
16
|
};
|
|
17
|
+
// currently, we consider all triggered pipelines as agent triggers
|
|
18
|
+
exports.RULE_NEVER_ON_AGENT_TRIGGER = {
|
|
19
|
+
if: '$CI_PIPELINE_SOURCE == "trigger"',
|
|
20
|
+
when: "never",
|
|
21
|
+
};
|
|
17
22
|
exports.RULE_NEVER_ON_SCHEDULE = {
|
|
18
23
|
if: '$CI_PIPELINE_SOURCE == "schedule"',
|
|
19
24
|
when: "never",
|
|
@@ -27,6 +32,7 @@ exports.RULE_IS_TAGGED_RELEASE = {
|
|
|
27
32
|
exports.RULE_CONDITION_HOTFIX_BRANCH = "$CI_COMMIT_BRANCH =~ /^[0-9]+.([0-9]+|x).x$/";
|
|
28
33
|
exports.RULES_RELEASE = [
|
|
29
34
|
exports.RULE_NEVER_ON_RELEASE_COMMIT,
|
|
35
|
+
exports.RULE_NEVER_ON_AGENT_TRIGGER,
|
|
30
36
|
exports.RULE_NEVER_ON_SCHEDULE,
|
|
31
37
|
{
|
|
32
38
|
if: exports.RULE_CONDITION_MAIN_BRANCH + ' && $AUTO_RELEASE == "true"',
|
|
@@ -43,6 +49,7 @@ exports.RULES_RELEASE = [
|
|
|
43
49
|
];
|
|
44
50
|
exports.RULES_MANUAL_RELEASE = [
|
|
45
51
|
exports.RULE_NEVER_ON_RELEASE_COMMIT,
|
|
52
|
+
exports.RULE_NEVER_ON_AGENT_TRIGGER,
|
|
46
53
|
exports.RULE_NEVER_ON_SCHEDULE,
|
|
47
54
|
{
|
|
48
55
|
if: exports.RULE_CONDITION_MAIN_BRANCH,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/rules/index.ts"],"names":[],"mappings":";;;AACa,QAAA,0BAA0B,GACrC,yCAAyC,CAAC;AAE/B,QAAA,6BAA6B,GACxC,+CAA+C,CAAC;AAErC,QAAA,iCAAiC,GAC5C,+CAA+C,CAAC;AAErC,QAAA,mBAAmB,GAAe;IAC7C,EAAE,EAAE,kCAA0B;CAC/B,CAAC;AACW,QAAA,0CAA0C,GAAe;IACpE,EAAE,EAAE,kCAA0B,GAAG,MAAM,GAAG,yCAAiC;CAC5E,CAAC;AACW,QAAA,4BAA4B,GAAe;IACtD,EAAE,EAAE,qCAA6B;IACjC,IAAI,EAAE,OAAO;CACd,CAAC;AAEW,QAAA,sBAAsB,GAAe;IAChD,EAAE,EAAE,oCAAoC;IACxC,IAAI,EAAE,OAAO;CACd,CAAC;AAEW,QAAA,qBAAqB,GAAe;IAC/C,EAAE,EAAE,sBAAsB;CAC3B,CAAC;AAEW,QAAA,sBAAsB,GAAe;IAChD,EAAE,EAAE,gBAAgB;CACrB,CAAC;AAEW,QAAA,4BAA4B,GACvC,8CAA8C,CAAC;AAEpC,QAAA,aAAa,GAAiB;IACzC,oCAA4B;IAC5B,8BAAsB;IACtB;QACE,EAAE,EAAE,kCAA0B,GAAG,6BAA6B;QAC9D,IAAI,EAAE,YAAY;KACnB;IACD;QACE,EAAE,EAAE,kCAA0B;QAC9B,IAAI,EAAE,QAAQ;KACf;IACD;QACE,EAAE,EAAE,oCAA4B;QAChC,IAAI,EAAE,QAAQ;KACf;CACF,CAAC;AAEW,QAAA,oBAAoB,GAAiB;IAChD,oCAA4B;IAC5B,8BAAsB;IACtB;QACE,EAAE,EAAE,kCAA0B;QAC9B,IAAI,EAAE,QAAQ;KACf;IACD;QACE,EAAE,EAAE,oCAA4B;QAChC,IAAI,EAAE,QAAQ;KACf;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/rules/index.ts"],"names":[],"mappings":";;;AACa,QAAA,0BAA0B,GACrC,yCAAyC,CAAC;AAE/B,QAAA,6BAA6B,GACxC,+CAA+C,CAAC;AAErC,QAAA,iCAAiC,GAC5C,+CAA+C,CAAC;AAErC,QAAA,mBAAmB,GAAe;IAC7C,EAAE,EAAE,kCAA0B;CAC/B,CAAC;AACW,QAAA,0CAA0C,GAAe;IACpE,EAAE,EAAE,kCAA0B,GAAG,MAAM,GAAG,yCAAiC;CAC5E,CAAC;AACW,QAAA,4BAA4B,GAAe;IACtD,EAAE,EAAE,qCAA6B;IACjC,IAAI,EAAE,OAAO;CACd,CAAC;AACF,mEAAmE;AACtD,QAAA,2BAA2B,GAAe;IACrD,EAAE,EAAE,mCAAmC;IACvC,IAAI,EAAE,OAAO;CACd,CAAC;AAEW,QAAA,sBAAsB,GAAe;IAChD,EAAE,EAAE,oCAAoC;IACxC,IAAI,EAAE,OAAO;CACd,CAAC;AAEW,QAAA,qBAAqB,GAAe;IAC/C,EAAE,EAAE,sBAAsB;CAC3B,CAAC;AAEW,QAAA,sBAAsB,GAAe;IAChD,EAAE,EAAE,gBAAgB;CACrB,CAAC;AAEW,QAAA,4BAA4B,GACvC,8CAA8C,CAAC;AAEpC,QAAA,aAAa,GAAiB;IACzC,oCAA4B;IAC5B,mCAA2B;IAC3B,8BAAsB;IACtB;QACE,EAAE,EAAE,kCAA0B,GAAG,6BAA6B;QAC9D,IAAI,EAAE,YAAY;KACnB;IACD;QACE,EAAE,EAAE,kCAA0B;QAC9B,IAAI,EAAE,QAAQ;KACf;IACD;QACE,EAAE,EAAE,oCAA4B;QAChC,IAAI,EAAE,QAAQ;KACf;CACF,CAAC;AAEW,QAAA,oBAAoB,GAAiB;IAChD,oCAA4B;IAC5B,mCAA2B;IAC3B,8BAAsB;IACtB;QACE,EAAE,EAAE,kCAA0B;QAC9B,IAAI,EAAE,QAAQ;KACf;IACD;QACE,EAAE,EAAE,oCAA4B;QAChC,IAAI,EAAE,QAAQ;KACf;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/agent.ts"],"names":[],"mappings":""}
|
|
@@ -4,6 +4,7 @@ import type { CatladderJob } from "./jobs";
|
|
|
4
4
|
import type { ComponentContext } from "./context";
|
|
5
5
|
import type { PartialDeep } from "./utils";
|
|
6
6
|
import type { PipelineType, WorkspaceBuildConfig } from "..";
|
|
7
|
+
import type { AgentConfig } from "./agent";
|
|
7
8
|
export declare const ALL_PIPELINE_TRIGGERS: readonly ["mainBranch", "mr", "taggedRelease"];
|
|
8
9
|
export type PipelineTrigger = (typeof ALL_PIPELINE_TRIGGERS)[number];
|
|
9
10
|
/**
|
|
@@ -166,6 +167,7 @@ export type Config<C extends ConfigProps = never> = {
|
|
|
166
167
|
*
|
|
167
168
|
*/
|
|
168
169
|
domainCanonical?: string;
|
|
170
|
+
agents?: Record<string, AgentConfig>;
|
|
169
171
|
builds?: Record<string, WorkspaceBuildConfig>;
|
|
170
172
|
/**
|
|
171
173
|
* components (sub apps)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/config.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/config.ts"],"names":[],"mappings":";;;AASa,QAAA,qBAAqB,GAAG;IACnC,YAAY;IACZ,IAAI;IACJ,eAAe;CACP,CAAC;AAGX;;;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;AAEX;;;;GAIG;AACI,MAAM,oBAAoB,GAAG,CAAC,OAAwB,EAAE,EAAE,CAC/D,MAAM,CAAC,OAAO,CAAC,iBAAS,CAAC;KACtB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACf,CAAC,CAAC,QAAuC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAC7D;KACA,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAY,CAAC,CAAC;AALnB,QAAA,oBAAoB,wBAKD;AAEnB,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"}
|
|
@@ -3,6 +3,7 @@ import type { BuildConfigFromWorkspace, BuildConfigStandalone, WorkspaceBuildCon
|
|
|
3
3
|
import type { PredefinedVariables, SecretEnvVar } from "../context";
|
|
4
4
|
import type { DeployConfig } from "../deploy";
|
|
5
5
|
import type { VariableValue } from "../variables/VariableValue";
|
|
6
|
+
import type { AgentConfig } from "./agent";
|
|
6
7
|
import type { ComponentConfig, Config, EnvType, PipelineTrigger } from "./config";
|
|
7
8
|
import type { BaseStage, CatladderJob } from "./jobs";
|
|
8
9
|
import type { PipelineType } from "./pipeline";
|
|
@@ -155,3 +156,9 @@ export type WorkspaceContext = {
|
|
|
155
156
|
pipelineType: PipelineType;
|
|
156
157
|
env: string;
|
|
157
158
|
};
|
|
159
|
+
export type AgentContext = {
|
|
160
|
+
type: "agent";
|
|
161
|
+
name: string;
|
|
162
|
+
fullConfig: Config;
|
|
163
|
+
agentConfig: AgentConfig;
|
|
164
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/context.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/context.ts"],"names":[],"mappings":";;;AA8LO,MAAM,iCAAiC,GAAG,CAC/C,OAAgD,EACK,EAAE;IACvD,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;AAC7C,CAAC,CAAC;AAJW,QAAA,iCAAiC,qCAI5C;AAEK,MAAM,iCAAiC,GAAG,CAC/C,OAAgD,EACQ,EAAE;IAC1D,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC;AAChD,CAAC,CAAC;AAJW,QAAA,iCAAiC,qCAI5C"}
|
|
@@ -20,4 +20,5 @@ __exportStar(require("./context"), exports);
|
|
|
20
20
|
__exportStar(require("./jobDefinition"), exports);
|
|
21
21
|
__exportStar(require("./pipeline"), exports);
|
|
22
22
|
__exportStar(require("./jobs"), exports);
|
|
23
|
+
__exportStar(require("./agent"), exports);
|
|
23
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,iDAA+B;AAC/B,4CAA0B;AAC1B,kDAAgC;AAChC,6CAA2B;AAC3B,yCAAuB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,iDAA+B;AAC/B,4CAA0B;AAC1B,kDAAgC;AAChC,6CAA2B;AAC3B,yCAAuB;AACvB,0CAAwB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { UnspecifiedEnvVars } from "..";
|
|
2
2
|
import type { Artifacts, GitlabEnvironment, GitlabJobCache, GitlabJobDef, GitlabJobImage, GitlabRule } from "./gitlab-types";
|
|
3
3
|
export type CatladderJobCache = GitlabJobCache;
|
|
4
|
-
export declare const BASE_STAGES: readonly ["setup", "test", "build", "deploy", "verify", "rollback", "stop"];
|
|
4
|
+
export declare const BASE_STAGES: readonly ["setup", "test", "build", "deploy", "verify", "agents", "rollback", "stop"];
|
|
5
5
|
export type BaseStage = (typeof BASE_STAGES)[number];
|
|
6
6
|
export type CatladderJobNeed = string | {
|
|
7
7
|
job: string;
|
|
@@ -99,4 +99,8 @@ export type CatladderJob<S = BaseStage> = {
|
|
|
99
99
|
* tags for the underlying job runner (e.g gitlab)
|
|
100
100
|
*/
|
|
101
101
|
jobTags?: string[];
|
|
102
|
+
/**
|
|
103
|
+
* whether the job is interruptible (default: true)
|
|
104
|
+
*/
|
|
105
|
+
interruptible?: boolean;
|
|
102
106
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/jobs.ts"],"names":[],"mappings":";;;AAWa,QAAA,WAAW,GAAG;IACzB,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,MAAM;CACE,CAAC"}
|
|
1
|
+
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../../../pipeline/src/types/jobs.ts"],"names":[],"mappings":";;;AAWa,QAAA,WAAW,GAAG;IACzB,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,MAAM;CACE,CAAC"}
|