@catladder/pipeline 2.0.5 → 2.2.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/build/base/writeDotEnv.js +0 -1
- package/dist/build/docker.js +0 -1
- package/dist/build/node/meteor.js +0 -1
- package/dist/build/rails/test.js +0 -1
- package/dist/build/types.d.ts +1 -1
- package/dist/catladder-gitlab.js +2 -3
- package/dist/config/readConfig.js +0 -1
- package/dist/constants.js +1 -1
- package/dist/context/getEnvironmentVariables.d.ts +1 -1
- package/dist/context/getEnvironmentVariables.js +0 -1
- package/dist/context/getReviewSlug.js +0 -1
- package/dist/deploy/cloudRun/createJobs/index.js +0 -1
- package/dist/deploy/kubernetes/deployJob.js +0 -1
- package/dist/deploy/types/index.d.ts +3 -3
- package/dist/pipeline/createMainPipeline.js +20 -6
- package/dist/pipeline/generatePipelineFiles.d.ts +7 -40
- package/dist/pipeline/generatePipelineFiles.js +113 -49
- package/dist/pipeline/gitlab/createGitlabJobs.d.ts +6 -4
- package/dist/pipeline/gitlab/gitlabReleaseJobs.d.ts +0 -2
- package/dist/pipeline/gitlab/gitlabReleaseJobs.js +2 -4
- package/dist/pipeline/index.d.ts +0 -1
- package/dist/pipeline/index.js +0 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/config.d.ts +3 -3
- package/dist/types/gitlab-types.d.ts +2 -1
- package/dist/types/pipeline.d.ts +0 -1
- package/dist/utils/writeFiles.js +0 -2
- package/dist/variables/__tests__/resolveAllReferences.test.js +0 -1
- package/dist/variables/__tests__/resolveReferencesOnce.test.js +0 -3
- package/examples/__snapshots__/cloud-run-http2.test.ts.snap +0 -2
- package/examples/__snapshots__/cloud-run-memory-limit.test.ts.snap +0 -2
- package/examples/__snapshots__/cloud-run-meteor-with-worker.test.ts.snap +0 -2
- package/examples/__snapshots__/cloud-run-nextjs.test.ts.snap +0 -2
- package/examples/__snapshots__/cloud-run-no-cpu-throttling.test.ts.snap +0 -2
- package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +0 -2
- package/examples/__snapshots__/cloud-run-non-public.test.ts.snap +0 -2
- package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +0 -2
- package/examples/__snapshots__/cloud-run-service-custom-vpc-connector.test.ts.snap +0 -2
- package/examples/__snapshots__/cloud-run-service-custom-vpc.test.ts.snap +0 -2
- package/examples/__snapshots__/cloud-run-service-gen2.test.ts.snap +0 -2
- package/examples/__snapshots__/cloud-run-service-increase-timout.test.ts.snap +0 -2
- package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +0 -2
- package/examples/__snapshots__/cloud-run-storybook.test.ts.snap +0 -2
- package/examples/__snapshots__/cloud-run-with-ngnix.test.ts.snap +0 -2
- package/examples/__snapshots__/cloud-run-with-sql-reuse-db.test.ts.snap +0 -2
- package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +0 -2
- package/examples/__snapshots__/cloud-run-with-worker.test.ts.snap +0 -2
- package/examples/__snapshots__/custom-build-job-with-tests.test.ts.snap +0 -2
- package/examples/__snapshots__/custom-build-job.test.ts.snap +0 -2
- package/examples/__snapshots__/custom-deploy.test.ts.snap +0 -2
- package/examples/__snapshots__/custom-envs.test.ts.snap +0 -2
- package/examples/__snapshots__/custom-sbom-java.test.ts.snap +0 -2
- package/examples/__snapshots__/git-submodule.test.ts.snap +0 -2
- package/examples/__snapshots__/kubernetes-application-customization.test.ts.snap +0 -2
- package/examples/__snapshots__/kubernetes-with-cloud-sql.test.ts.snap +0 -2
- package/examples/__snapshots__/kubernetes-with-jobs.test.ts.snap +0 -2
- package/examples/__snapshots__/kubernetes-with-mongodb.test.ts.snap +0 -2
- package/examples/__snapshots__/local-dot-env.test.ts.snap +0 -2
- package/examples/__snapshots__/meteor-kubernetes.test.ts.snap +0 -2
- package/examples/__snapshots__/multiline-var.test.ts.snap +0 -2
- package/examples/__snapshots__/native-app.test.ts.snap +0 -2
- package/examples/__snapshots__/node-build-with-custom-image.test.ts.snap +0 -2
- package/examples/__snapshots__/node-build-with-docker-additions.test.ts.snap +0 -2
- package/examples/__snapshots__/rails-k8s-with-worker-dockerfile.test.ts.snap +0 -2
- package/examples/__snapshots__/rails-k8s-with-worker.test.ts.snap +0 -2
- package/examples/__snapshots__/referencing-other-vars.test.ts.snap +0 -2
- package/examples/__snapshots__/wait-for-other-deploy.test.ts.snap +0 -2
- package/examples/__snapshots__/workspace-api-www-turbo-cache.test.ts.snap +0 -2
- package/examples/__snapshots__/workspace-api-www.test.ts.snap +0 -2
- package/examples/__utils__/helpers.ts +2 -18
- package/examples/rails-k8s-with-worker-dockerfile.test.ts +11 -4
- package/package.json +16 -17
- package/src/build/cache/createJobCache.ts +2 -2
- package/src/build/sbom.ts +2 -2
- package/src/catladder-gitlab.ts +2 -9
- package/src/config/readConfig.ts +0 -1
- package/src/context/createComponentContext.ts +1 -1
- package/src/context/getEnvironmentVariables.ts +1 -1
- package/src/deploy/base/deploy.ts +3 -3
- package/src/deploy/cloudRun/createJobs/cloudRunServices.ts +1 -1
- package/src/pipeline/createMainPipeline.ts +17 -9
- package/src/pipeline/generatePipelineFiles.ts +82 -58
- package/src/pipeline/gitlab/createGitlabJobs.ts +4 -4
- package/src/pipeline/gitlab/gitlabReleaseJobs.ts +2 -4
- package/src/pipeline/index.ts +0 -1
- package/src/types/gitlab-types.ts +2 -1
- package/src/types/pipeline.ts +0 -4
- package/dist/pipeline/createChildPipeline.d.ts +0 -3
- package/dist/pipeline/createChildPipeline.js +0 -163
- package/dist/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.d.ts +0 -1
- package/dist/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.js +0 -29
- package/src/pipeline/createChildPipeline.ts +0 -37
- package/src/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.ts +0 -46
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
|
|
4
|
-
function adopt(value) {
|
|
5
|
-
return value instanceof P ? value : new P(function (resolve) {
|
|
6
|
-
resolve(value);
|
|
7
|
-
});
|
|
8
|
-
}
|
|
9
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10
|
-
function fulfilled(value) {
|
|
11
|
-
try {
|
|
12
|
-
step(generator.next(value));
|
|
13
|
-
} catch (e) {
|
|
14
|
-
reject(e);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
function rejected(value) {
|
|
18
|
-
try {
|
|
19
|
-
step(generator["throw"](value));
|
|
20
|
-
} catch (e) {
|
|
21
|
-
reject(e);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
function step(result) {
|
|
25
|
-
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
26
|
-
}
|
|
27
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
var __generator = this && this.__generator || function (thisArg, body) {
|
|
31
|
-
var _ = {
|
|
32
|
-
label: 0,
|
|
33
|
-
sent: function () {
|
|
34
|
-
if (t[0] & 1) throw t[1];
|
|
35
|
-
return t[1];
|
|
36
|
-
},
|
|
37
|
-
trys: [],
|
|
38
|
-
ops: []
|
|
39
|
-
},
|
|
40
|
-
f,
|
|
41
|
-
y,
|
|
42
|
-
t,
|
|
43
|
-
g;
|
|
44
|
-
return g = {
|
|
45
|
-
next: verb(0),
|
|
46
|
-
"throw": verb(1),
|
|
47
|
-
"return": verb(2)
|
|
48
|
-
}, typeof Symbol === "function" && (g[Symbol.iterator] = function () {
|
|
49
|
-
return this;
|
|
50
|
-
}), g;
|
|
51
|
-
function verb(n) {
|
|
52
|
-
return function (v) {
|
|
53
|
-
return step([n, v]);
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
function step(op) {
|
|
57
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
58
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
59
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
60
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
61
|
-
switch (op[0]) {
|
|
62
|
-
case 0:
|
|
63
|
-
case 1:
|
|
64
|
-
t = op;
|
|
65
|
-
break;
|
|
66
|
-
case 4:
|
|
67
|
-
_.label++;
|
|
68
|
-
return {
|
|
69
|
-
value: op[1],
|
|
70
|
-
done: false
|
|
71
|
-
};
|
|
72
|
-
case 5:
|
|
73
|
-
_.label++;
|
|
74
|
-
y = op[1];
|
|
75
|
-
op = [0];
|
|
76
|
-
continue;
|
|
77
|
-
case 7:
|
|
78
|
-
op = _.ops.pop();
|
|
79
|
-
_.trys.pop();
|
|
80
|
-
continue;
|
|
81
|
-
default:
|
|
82
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
|
|
83
|
-
_ = 0;
|
|
84
|
-
continue;
|
|
85
|
-
}
|
|
86
|
-
if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
|
|
87
|
-
_.label = op[1];
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
if (op[0] === 6 && _.label < t[1]) {
|
|
91
|
-
_.label = t[1];
|
|
92
|
-
t = op;
|
|
93
|
-
break;
|
|
94
|
-
}
|
|
95
|
-
if (t && _.label < t[2]) {
|
|
96
|
-
_.label = t[2];
|
|
97
|
-
_.ops.push(op);
|
|
98
|
-
break;
|
|
99
|
-
}
|
|
100
|
-
if (t[2]) _.ops.pop();
|
|
101
|
-
_.trys.pop();
|
|
102
|
-
continue;
|
|
103
|
-
}
|
|
104
|
-
op = body.call(thisArg, _);
|
|
105
|
-
} catch (e) {
|
|
106
|
-
op = [6, e];
|
|
107
|
-
y = 0;
|
|
108
|
-
} finally {
|
|
109
|
-
f = t = 0;
|
|
110
|
-
}
|
|
111
|
-
if (op[0] & 5) throw op[1];
|
|
112
|
-
return {
|
|
113
|
-
value: op[0] ? op[1] : void 0,
|
|
114
|
-
done: true
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
Object.defineProperty(exports, "__esModule", {
|
|
119
|
-
value: true
|
|
120
|
-
});
|
|
121
|
-
exports.createChildPipeline = void 0;
|
|
122
|
-
var rules_1 = require("../rules");
|
|
123
|
-
var createAllJobs_1 = require("./createAllJobs");
|
|
124
|
-
var getPipelineStages_1 = require("./getPipelineStages");
|
|
125
|
-
var createGitlabJobs_1 = require("./gitlab/createGitlabJobs");
|
|
126
|
-
var createGitlabPipeline_1 = require("./gitlab/createGitlabPipeline");
|
|
127
|
-
var createChildPipeline = function (pipelineType, trigger, config) {
|
|
128
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
129
|
-
var jobs, stages, gitlabJobs;
|
|
130
|
-
return __generator(this, function (_a) {
|
|
131
|
-
switch (_a.label) {
|
|
132
|
-
case 0:
|
|
133
|
-
return [4 /*yield*/, (0, createAllJobs_1.createAllJobs)({
|
|
134
|
-
config: config,
|
|
135
|
-
trigger: trigger,
|
|
136
|
-
pipelineType: pipelineType
|
|
137
|
-
})];
|
|
138
|
-
case 1:
|
|
139
|
-
jobs = _a.sent();
|
|
140
|
-
stages = (0, getPipelineStages_1.getPipelineStages)(config);
|
|
141
|
-
if (!(pipelineType === "gitlab")) return [3 /*break*/, 3];
|
|
142
|
-
return [4 /*yield*/, (0, createGitlabJobs_1.createGitlabJobs)(jobs)];
|
|
143
|
-
case 2:
|
|
144
|
-
gitlabJobs = _a.sent();
|
|
145
|
-
return [2 /*return*/, (0, createGitlabPipeline_1.createGitlabPipelineWithDefaults)({
|
|
146
|
-
workflow: {
|
|
147
|
-
rules: rules_1.RULES_ALWAYS
|
|
148
|
-
},
|
|
149
|
-
stages: stages,
|
|
150
|
-
jobs: Object.fromEntries(gitlabJobs.map(function (_a) {
|
|
151
|
-
var gitlabJob = _a.gitlabJob,
|
|
152
|
-
name = _a.name;
|
|
153
|
-
return [name, gitlabJob];
|
|
154
|
-
})),
|
|
155
|
-
variables: config.runnerVariables
|
|
156
|
-
})];
|
|
157
|
-
case 3:
|
|
158
|
-
throw new Error("".concat(pipelineType, " is not supported"));
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
});
|
|
162
|
-
};
|
|
163
|
-
exports.createChildPipeline = createChildPipeline;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function getPipelineTriggerForGitlabChildPipeline(): "mainBranch" | "mr" | "taggedRelease";
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getPipelineTriggerForGitlabChildPipeline = void 0;
|
|
7
|
-
var constants_1 = require("../../constants");
|
|
8
|
-
function getPipelineTriggerForGitlabChildPipeline() {
|
|
9
|
-
var _a = process.env,
|
|
10
|
-
CI_MERGE_REQUEST_ID = _a.CI_MERGE_REQUEST_ID,
|
|
11
|
-
CI_COMMIT_TAG = _a.CI_COMMIT_TAG,
|
|
12
|
-
CI_COMMIT_BRANCH = _a.CI_COMMIT_BRANCH,
|
|
13
|
-
CI_DEFAULT_BRANCH = _a.CI_DEFAULT_BRANCH;
|
|
14
|
-
var isDefaultBranch = Boolean(CI_DEFAULT_BRANCH) && CI_COMMIT_BRANCH === CI_DEFAULT_BRANCH;
|
|
15
|
-
var isHotfixBranch = CI_COMMIT_BRANCH ? /^[0-9]+\.([0-9]+|x)\.x$/.test(CI_COMMIT_BRANCH) : false;
|
|
16
|
-
var isMergeRequest = Boolean(CI_MERGE_REQUEST_ID);
|
|
17
|
-
var isTaggedRelease = Boolean(CI_COMMIT_TAG);
|
|
18
|
-
console.info("catladder version ".concat(constants_1.PIPELINE_IMAGE_TAG));
|
|
19
|
-
var trigger = isMergeRequest || isHotfixBranch ? "mr" : isDefaultBranch ? "mainBranch" : isTaggedRelease ? "taggedRelease" : null;
|
|
20
|
-
if (!trigger) {
|
|
21
|
-
throw new Error("no matching trigger: " + JSON.stringify({
|
|
22
|
-
isMergeRequest: isMergeRequest,
|
|
23
|
-
isDefaultBranch: isDefaultBranch,
|
|
24
|
-
isTaggedRelease: isTaggedRelease
|
|
25
|
-
}, null, 2));
|
|
26
|
-
}
|
|
27
|
-
return trigger;
|
|
28
|
-
}
|
|
29
|
-
exports.getPipelineTriggerForGitlabChildPipeline = getPipelineTriggerForGitlabChildPipeline;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { RULES_ALWAYS } from "../rules";
|
|
2
|
-
|
|
3
|
-
import type { Pipeline, PipelineType } from "../types";
|
|
4
|
-
import type { Config, PipelineTrigger } from "../types/config";
|
|
5
|
-
import { createAllJobs } from "./createAllJobs";
|
|
6
|
-
import { getPipelineStages } from "./getPipelineStages";
|
|
7
|
-
import { createGitlabJobs } from "./gitlab/createGitlabJobs";
|
|
8
|
-
import { createGitlabPipelineWithDefaults } from "./gitlab/createGitlabPipeline";
|
|
9
|
-
|
|
10
|
-
export const createChildPipeline = async <T extends PipelineType>(
|
|
11
|
-
pipelineType: T,
|
|
12
|
-
trigger: PipelineTrigger,
|
|
13
|
-
config: Config,
|
|
14
|
-
): Promise<Pipeline<T>> => {
|
|
15
|
-
const jobs = await createAllJobs({
|
|
16
|
-
config,
|
|
17
|
-
trigger,
|
|
18
|
-
pipelineType,
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
const stages = getPipelineStages(config);
|
|
22
|
-
|
|
23
|
-
if (pipelineType === "gitlab") {
|
|
24
|
-
const gitlabJobs = await createGitlabJobs(jobs);
|
|
25
|
-
return createGitlabPipelineWithDefaults({
|
|
26
|
-
workflow: {
|
|
27
|
-
rules: RULES_ALWAYS,
|
|
28
|
-
},
|
|
29
|
-
stages,
|
|
30
|
-
jobs: Object.fromEntries(
|
|
31
|
-
gitlabJobs.map(({ gitlabJob, name }) => [name, gitlabJob]),
|
|
32
|
-
),
|
|
33
|
-
variables: config.runnerVariables,
|
|
34
|
-
}) as Pipeline<T>;
|
|
35
|
-
}
|
|
36
|
-
throw new Error(`${pipelineType} is not supported`);
|
|
37
|
-
};
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import type { PipelineTrigger } from "../..";
|
|
2
|
-
import { PIPELINE_IMAGE_TAG } from "../../constants";
|
|
3
|
-
|
|
4
|
-
export function getPipelineTriggerForGitlabChildPipeline() {
|
|
5
|
-
const {
|
|
6
|
-
CI_MERGE_REQUEST_ID,
|
|
7
|
-
CI_COMMIT_TAG,
|
|
8
|
-
CI_COMMIT_BRANCH,
|
|
9
|
-
CI_DEFAULT_BRANCH,
|
|
10
|
-
} = process.env;
|
|
11
|
-
|
|
12
|
-
const isDefaultBranch =
|
|
13
|
-
Boolean(CI_DEFAULT_BRANCH) && CI_COMMIT_BRANCH === CI_DEFAULT_BRANCH;
|
|
14
|
-
const isHotfixBranch = CI_COMMIT_BRANCH
|
|
15
|
-
? /^[0-9]+\.([0-9]+|x)\.x$/.test(CI_COMMIT_BRANCH)
|
|
16
|
-
: false;
|
|
17
|
-
const isMergeRequest = Boolean(CI_MERGE_REQUEST_ID);
|
|
18
|
-
const isTaggedRelease = Boolean(CI_COMMIT_TAG);
|
|
19
|
-
|
|
20
|
-
console.info(`catladder version ${PIPELINE_IMAGE_TAG}`);
|
|
21
|
-
|
|
22
|
-
const trigger: PipelineTrigger | null =
|
|
23
|
-
isMergeRequest || isHotfixBranch
|
|
24
|
-
? "mr"
|
|
25
|
-
: isDefaultBranch
|
|
26
|
-
? "mainBranch"
|
|
27
|
-
: isTaggedRelease
|
|
28
|
-
? "taggedRelease"
|
|
29
|
-
: null;
|
|
30
|
-
|
|
31
|
-
if (!trigger) {
|
|
32
|
-
throw new Error(
|
|
33
|
-
"no matching trigger: " +
|
|
34
|
-
JSON.stringify(
|
|
35
|
-
{
|
|
36
|
-
isMergeRequest,
|
|
37
|
-
isDefaultBranch,
|
|
38
|
-
isTaggedRelease,
|
|
39
|
-
},
|
|
40
|
-
null,
|
|
41
|
-
2,
|
|
42
|
-
),
|
|
43
|
-
);
|
|
44
|
-
}
|
|
45
|
-
return trigger;
|
|
46
|
-
}
|