@catladder/pipeline 1.167.0 → 1.168.1
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/createAppBuildJob.d.ts +1 -2
- package/dist/build/base/createBuildJobDefinition.d.ts +3 -4
- package/dist/build/base/index.d.ts +1 -2
- package/dist/build/cache/createJobCache.d.ts +3 -2
- package/dist/build/cache/createJobCache.js +2 -2
- package/dist/build/cache/getAllCacheConfigsFromConfig.d.ts +2 -2
- package/dist/build/cache/getAllCacheConfigsFromConfig.js +2 -6
- package/dist/build/docker.d.ts +2 -3
- package/dist/build/node/buildJob.d.ts +1 -2
- package/dist/build/types.d.ts +6 -0
- package/dist/bundles/catladder-gitlab/index.js +2 -2
- package/dist/constants.js +1 -1
- package/dist/context/getEnvironmentVariables.d.ts +1 -1
- package/dist/deploy/base/deploy.d.ts +1 -1
- package/dist/deploy/base/deploy.js +2 -1
- package/dist/deploy/base/index.d.ts +1 -3
- package/dist/deploy/base/rollback.d.ts +1 -1
- package/dist/deploy/base/stop.d.ts +1 -1
- package/dist/deploy/cloudRun/createJobs/cloudRunJobs.js +76 -50
- package/dist/deploy/custom/deployJob.js +6 -4
- package/dist/deploy/types/custom.d.ts +2 -6
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/config.d.ts +3 -3
- package/dist/types/jobDefinition.d.ts +8 -2
- package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +84 -32
- package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +10 -4
- package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +40 -16
- package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +112 -48
- package/examples/__snapshots__/custom-deploy.test.ts.snap +0 -4
- package/examples/__snapshots__/native-app.test.ts.snap +4 -0
- package/examples/__snapshots__/wait-for-other-deploy.test.ts.snap +0 -8
- package/examples/native-app.ts +6 -6
- package/package.json +1 -1
- package/src/build/base/createAppBuildJob.ts +1 -2
- package/src/build/base/createBuildJobDefinition.ts +3 -4
- package/src/build/base/index.ts +4 -2
- package/src/build/cache/createJobCache.ts +6 -9
- package/src/build/cache/getAllCacheConfigsFromConfig.ts +5 -12
- package/src/build/docker.ts +2 -3
- package/src/build/node/buildJob.ts +4 -2
- package/src/build/types.ts +7 -0
- package/src/deploy/base/deploy.ts +5 -11
- package/src/deploy/base/index.ts +8 -3
- package/src/deploy/base/rollback.ts +1 -4
- package/src/deploy/base/stop.ts +1 -4
- package/src/deploy/cloudRun/createJobs/cloudRunJobs.ts +109 -74
- package/src/deploy/custom/deployJob.ts +5 -2
- package/src/deploy/types/custom.ts +3 -7
- package/src/types/jobDefinition.ts +27 -2
package/dist/constants.js
CHANGED
|
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.DOCKER_REGISTRY = exports.PIPELINE_IMAGE_TAG = void 0;
|
|
7
|
-
exports.PIPELINE_IMAGE_TAG = "v1-
|
|
7
|
+
exports.PIPELINE_IMAGE_TAG = "v1-168-1-1cf21d4c" || "latest";
|
|
8
8
|
exports.DOCKER_REGISTRY = "git.panter.ch:5001/catladder/catladder" || "git.panter.ch:5001/catladder/catladder";
|
|
@@ -9,7 +9,7 @@ export type SecretEnvVar = {
|
|
|
9
9
|
declare const getBasePredefinedVariables: (ctx: EnvironmentContext) => {
|
|
10
10
|
ENV_SHORT: string;
|
|
11
11
|
APP_DIR: string;
|
|
12
|
-
ENV_TYPE: "
|
|
12
|
+
ENV_TYPE: "stage" | "dev" | "review" | "prod" | "local";
|
|
13
13
|
};
|
|
14
14
|
type BasePredefinedVariables = ReturnType<typeof getBasePredefinedVariables>;
|
|
15
15
|
export type PredefinedVariables = BasePredefinedVariables & {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { DeployJobDefinition } from "../../types";
|
|
1
2
|
import { type ComponentContext } from "../../types/context";
|
|
2
3
|
import type { CatladderJob } from "../../types/jobs";
|
|
3
4
|
export declare const DEPLOY_JOB_NAME = "\uD83D\uDE80 Deploy";
|
|
4
|
-
export type DeployJobDefinition = Pick<CatladderJob, "script" | "variables" | "image" | "cache" | "artifacts" | "services" | "runnerVariables">;
|
|
5
5
|
export declare const createDeployJob: (context: ComponentContext, jobDefinition: DeployJobDefinition) => CatladderJob;
|
|
@@ -45,6 +45,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
45
45
|
value: true
|
|
46
46
|
});
|
|
47
47
|
exports.createDeployJob = exports.DEPLOY_JOB_NAME = void 0;
|
|
48
|
+
var createJobCache_1 = require("../../build/cache/createJobCache");
|
|
48
49
|
var docker_1 = require("../../build/docker");
|
|
49
50
|
var sbom_1 = require("../../build/sbom");
|
|
50
51
|
var context_1 = require("../../types/context");
|
|
@@ -70,7 +71,7 @@ var createDeployJob = function (context, jobDefinition) {
|
|
|
70
71
|
name: exports.DEPLOY_JOB_NAME,
|
|
71
72
|
script: jobDefinition.script,
|
|
72
73
|
image: jobDefinition.image,
|
|
73
|
-
cache: jobDefinition.cache,
|
|
74
|
+
cache: jobDefinition.cache ? (0, createJobCache_1.createJobCacheFromCacheConfigs)(context, jobDefinition.cache) : undefined,
|
|
74
75
|
artifacts: jobDefinition.artifacts,
|
|
75
76
|
services: jobDefinition.services,
|
|
76
77
|
envMode: "stagePerEnv",
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import type { ComponentContext } from "../../types/context";
|
|
2
|
+
import type { DeployJobDefinition, RollbackJobDefinition, StopJobDefinition } from "../../types/jobDefinition";
|
|
2
3
|
import type { CatladderJob } from "../../types/jobs";
|
|
3
|
-
import { type DeployJobDefinition } from "./deploy";
|
|
4
|
-
import { type RollbackJobDefinition } from "./rollback";
|
|
5
|
-
import { type StopJobDefinition } from "./stop";
|
|
6
4
|
export declare const createDeployementJobs: (context: ComponentContext, definitions: {
|
|
7
5
|
deploy: DeployJobDefinition;
|
|
8
6
|
stop?: StopJobDefinition;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ComponentContext } from "../../types/context";
|
|
2
|
+
import type { RollbackJobDefinition } from "../../types/jobDefinition";
|
|
2
3
|
import type { CatladderJob } from "../../types/jobs";
|
|
3
4
|
export declare const ROLLBACK_JOB_NAME = "\u21A9\uFE0F Rollback \u26A0\uFE0F";
|
|
4
|
-
export type RollbackJobDefinition = Pick<CatladderJob, "script" | "variables" | "runnerVariables" | "image">;
|
|
5
5
|
export declare const createRollbackJob: (context: ComponentContext, jobDefinition: RollbackJobDefinition) => CatladderJob;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ComponentContext } from "../../types/context";
|
|
2
|
+
import type { StopJobDefinition } from "../../types/jobDefinition";
|
|
2
3
|
import type { CatladderJob } from "../../types/jobs";
|
|
3
4
|
export declare const STOP_JOB_NAME = "\uD83D\uDED1 Stop \u26A0\uFE0F";
|
|
4
|
-
export type StopJobDefinition = Pick<CatladderJob, "script" | "variables" | "image" | "runnerVariables">;
|
|
5
5
|
export declare const createStopJob: (context: ComponentContext, jobDefinition: StopJobDefinition) => CatladderJob;
|
|
@@ -10,6 +10,14 @@ var __assign = this && this.__assign || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __rest = this && this.__rest || function (s, e) {
|
|
14
|
+
var t = {};
|
|
15
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
17
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
18
|
+
}
|
|
19
|
+
return t;
|
|
20
|
+
};
|
|
13
21
|
var __read = this && this.__read || function (o, n) {
|
|
14
22
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
15
23
|
if (!m) return o;
|
|
@@ -45,13 +53,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
45
53
|
value: true
|
|
46
54
|
});
|
|
47
55
|
exports.getCreateScheduleScripts = exports.getJobCreateScripts = exports.getJobRunScripts = exports.getDeleteJobsScripts = exports.getDeleteSchedulesScripts = void 0;
|
|
48
|
-
var gitlab_1 = require("../../../utils/gitlab");
|
|
49
56
|
var createArgsString_1 = require("../utils/createArgsString");
|
|
50
57
|
var jobName_1 = require("../utils/jobName");
|
|
51
58
|
var common_1 = require("./common");
|
|
52
59
|
var getLabels_1 = require("../../../context/getLabels");
|
|
53
60
|
var volumes_1 = require("./volumes");
|
|
54
61
|
var constants_1 = require("./constants");
|
|
62
|
+
var utils_1 = require("../../../utils");
|
|
55
63
|
var getJobRunScriptForJob = function (context, jobName, wait) {
|
|
56
64
|
var commonArgs = (0, common_1.getCommonCloudRunArgs)(context);
|
|
57
65
|
var commonArgsString = (0, createArgsString_1.createArgsString)(commonArgs);
|
|
@@ -96,58 +104,73 @@ var getJobRunScripts = function (context, when) {
|
|
|
96
104
|
};
|
|
97
105
|
exports.getJobRunScripts = getJobRunScripts;
|
|
98
106
|
var getJobCreateScripts = function (context) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
107
|
+
return getCloudRunJobsWithNames(context).map(function (_a, jobIndex) {
|
|
108
|
+
var _b = _a.job,
|
|
109
|
+
command = _b.command,
|
|
110
|
+
image = _b.image,
|
|
111
|
+
cpu = _b.cpu,
|
|
112
|
+
_c = _b.memory,
|
|
113
|
+
memory = _c === void 0 ? "512Mi" : _c,
|
|
114
|
+
_d = _b.timeout,
|
|
115
|
+
timeout = _d === void 0 ? "10m" : _d,
|
|
116
|
+
_e = _b.parallelism,
|
|
117
|
+
parallelism = _e === void 0 ? 1 : _e,
|
|
118
|
+
volumes = _b.volumes,
|
|
102
119
|
jobName = _a.jobName;
|
|
103
|
-
|
|
104
|
-
|
|
120
|
+
var commandArray = Array.isArray(command) ? command : command.split(" ");
|
|
121
|
+
var _f = (0, common_1.getCommonDeployArgs)(context),
|
|
122
|
+
commonImage = _f.image,
|
|
123
|
+
project = _f.project,
|
|
124
|
+
region = _f.region,
|
|
125
|
+
deployArgs = __rest(_f, ["image", "project", "region"]);
|
|
126
|
+
var commonDeployArgsString = (0, createArgsString_1.createArgsString)(__assign({
|
|
127
|
+
command: "\"".concat(commandArray.join(","), "\""),
|
|
128
|
+
labels: "\"".concat((0, common_1.makeLabelString)((0, getLabels_1.getLabels)(context)), ",cloud-run-job-name=$current_job_name\""),
|
|
129
|
+
image: "\"".concat(image !== null && image !== void 0 ? image : commonImage, "\""),
|
|
130
|
+
project: project,
|
|
131
|
+
region: region,
|
|
132
|
+
cpu: cpu,
|
|
133
|
+
memory: memory,
|
|
134
|
+
parallelism: parallelism,
|
|
135
|
+
"task-timeout": timeout,
|
|
136
|
+
"env-vars-file": constants_1.ENV_VARS_FILENAME,
|
|
137
|
+
"max-retries": 0
|
|
138
|
+
}, deployArgs));
|
|
139
|
+
// due to some oversight from google, jobs create does not yet accept `--add-volume` 🤦
|
|
140
|
+
// lucky, update on the other hand accepts it... so let's just imediatly update it
|
|
141
|
+
// we cannot upsert a job, so we have to create it and catch the error and then update
|
|
142
|
+
var hasVolumes = Object.keys(volumes || {}).length > 0;
|
|
143
|
+
var needsBeta = hasVolumes ? "beta" : undefined;
|
|
144
|
+
var volumeArgs = hasVolumes ? createArgsString_1.createArgsString.apply(void 0, __spreadArray([], __read((0, volumes_1.createVolumeConfig)(volumes, "job")), false)) : "";
|
|
145
|
+
return [jobIndex === 0 ? "exist_job_names=\"$(\n ".concat((0, common_1.gcloudRunCmd)(), " jobs list --filter='metadata.name ~ ").concat(context.env, ".*").concat(context.name, "' --format='value(name)' --limit=999 --project='").concat(project, "' --region='").concat(region, "'\n)\"") : null, "current_job_name=\"".concat(jobName, "\""), 'if grep "$current_job_name" <<<"$exist_job_names" >/dev/null; then', " ".concat((0, common_1.gcloudRunCmd)(needsBeta), " jobs update \"$current_job_name\" ").concat(commonDeployArgsString, " ").concat(volumeArgs), "else", " ".concat((0, common_1.gcloudRunCmd)(), " jobs create \"$current_job_name\" ").concat(commonDeployArgsString), "fi"].filter(utils_1.notNil).join("\n");
|
|
146
|
+
});
|
|
105
147
|
};
|
|
106
148
|
exports.getJobCreateScripts = getJobCreateScripts;
|
|
107
|
-
var getJobCreateScriptsForJob = function (context, jobName, job) {
|
|
108
|
-
var commonDeployArgs = (0, common_1.getCommonDeployArgs)(context);
|
|
109
|
-
// due to some oversight from google, jobs create does not yet accept `--add-volume` 🤦
|
|
110
|
-
// lucky, update on the other hand accepts it... so let's just imediatly update it
|
|
111
|
-
// we cannot upsert a job, so we have to create it and catch the error and then update
|
|
112
|
-
var commandArray = Array.isArray(job.command) ? job.command : job.command.split(" ");
|
|
113
|
-
var commonDeployArgsString = (0, createArgsString_1.createArgsString)(__assign(__assign({
|
|
114
|
-
command: '"' + commandArray.join(",") + '"'
|
|
115
|
-
}, commonDeployArgs), {
|
|
116
|
-
labels: (0, common_1.makeLabelString)(__assign(__assign({}, (0, getLabels_1.getLabels)(context)), {
|
|
117
|
-
"cloud-run-job-name": jobName.toString()
|
|
118
|
-
})),
|
|
119
|
-
image: job.image || commonDeployArgs.image,
|
|
120
|
-
cpu: job === null || job === void 0 ? void 0 : job.cpu,
|
|
121
|
-
memory: job.memory || "512Mi",
|
|
122
|
-
"task-timeout": job.timeout || "10m",
|
|
123
|
-
parallelism: job.parallelism || 1,
|
|
124
|
-
"env-vars-file": constants_1.ENV_VARS_FILENAME,
|
|
125
|
-
"max-retries": 0
|
|
126
|
-
}));
|
|
127
|
-
var requiresBeta = (job === null || job === void 0 ? void 0 : job.volumes) && Object.keys(job === null || job === void 0 ? void 0 : job.volumes).length > 0;
|
|
128
|
-
var argsString = "".concat(jobName, " ").concat(commonDeployArgsString);
|
|
129
|
-
return __spreadArray(__spreadArray([], __read((0, gitlab_1.allowFailureInScripts)(["".concat((0, common_1.gcloudRunCmd)(), " jobs create ").concat(argsString)])), false), ["".concat((0, common_1.gcloudRunCmd)(requiresBeta ? "beta" : undefined), " jobs update ").concat(argsString, " ").concat(createArgsString_1.createArgsString.apply(void 0, __spreadArray([], __read((0, volumes_1.createVolumeConfig)(job === null || job === void 0 ? void 0 : job.volumes, "job")), false)))], false);
|
|
130
|
-
};
|
|
131
149
|
var getCreateScheduleScripts = function (context) {
|
|
132
150
|
var jobsWithSchedule = getCloudRunJobsWithSchedule(context);
|
|
133
|
-
var
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
151
|
+
var _a = (0, common_1.getCloudRunDeployConfig)(context),
|
|
152
|
+
location = _a.region,
|
|
153
|
+
project = _a.projectId;
|
|
154
|
+
var uriBase = "https://".concat(location, "-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/").concat(project, "/jobs");
|
|
155
|
+
var gcloudArgs = {
|
|
156
|
+
project: project,
|
|
157
|
+
location: location,
|
|
158
|
+
uri: "\"$current_job_uri\"",
|
|
159
|
+
"http-method": "POST",
|
|
160
|
+
"oauth-service-account-email": "\"$GCLOUD_PROJECT_NUMBER-compute@developer.gserviceaccount.com\""
|
|
161
|
+
};
|
|
162
|
+
return jobsWithSchedule.map(function (_a, jobIndex) {
|
|
163
|
+
var _b = _a.job,
|
|
164
|
+
maxRetryAttempts = _b.maxRetryAttempts,
|
|
165
|
+
schedule = _b.schedule,
|
|
137
166
|
jobName = _a.jobName,
|
|
138
167
|
schedulerName = _a.schedulerName;
|
|
139
|
-
var argsString = (0, createArgsString_1.createArgsString)({
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
"http-method": "POST",
|
|
146
|
-
"oauth-service-account-email": "$GCLOUD_PROJECT_NUMBER-compute@developer.gserviceaccount.com"
|
|
147
|
-
});
|
|
148
|
-
var commonArgs = "http ".concat(schedulerName, " ").concat(argsString);
|
|
149
|
-
return __spreadArray(__spreadArray([], __read((0, gitlab_1.allowFailureInScripts)(["".concat((0, common_1.gcloudSchedulerCmd)(), " jobs create ").concat(commonArgs)])), false), ["".concat((0, common_1.gcloudSchedulerCmd)(), " jobs update ").concat(commonArgs)], false);
|
|
150
|
-
}).flat();
|
|
168
|
+
var argsString = (0, createArgsString_1.createArgsString)(__assign(__assign({}, gcloudArgs), {
|
|
169
|
+
schedule: "\"".concat(schedule, "\""),
|
|
170
|
+
"max-retry-attempts": maxRetryAttempts !== null && maxRetryAttempts !== void 0 ? maxRetryAttempts : 0
|
|
171
|
+
}));
|
|
172
|
+
return [jobIndex === 0 ? "exist_scheduler_names=\"$(\n ".concat((0, common_1.gcloudSchedulerCmd)(), " jobs list --filter='httpTarget.uri ~ ").concat(context.env, ".*").concat(context.name, "' --format='value(name)' --limit=999 --location='").concat(location, "' --project='").concat(project, "'\n)\"") : null, "current_job_uri=\"".concat(uriBase, "/").concat(jobName, ":run\""), "current_scheduler_name=\"".concat(schedulerName, "\""), "if grep \"$current_scheduler_name\" <<<\"$exist_scheduler_names\" >/dev/null; then", " ".concat((0, common_1.gcloudSchedulerCmd)(), " jobs update http \"$current_scheduler_name\" ").concat(argsString), "else", " ".concat((0, common_1.gcloudSchedulerCmd)(), " jobs create http \"$current_scheduler_name\" ").concat(argsString), "fi"].filter(utils_1.notNil).join("\n");
|
|
173
|
+
});
|
|
151
174
|
};
|
|
152
175
|
exports.getCreateScheduleScripts = getCreateScheduleScripts;
|
|
153
176
|
var getCloudRunJobsWithSchedule = function (context) {
|
|
@@ -156,10 +179,12 @@ var getCloudRunJobsWithSchedule = function (context) {
|
|
|
156
179
|
return entry.job.when === "schedule";
|
|
157
180
|
}).map(function (_a) {
|
|
158
181
|
var job = _a.job,
|
|
159
|
-
jobName = _a.jobName
|
|
182
|
+
jobName = _a.jobName,
|
|
183
|
+
jobKey = _a.jobKey;
|
|
160
184
|
return {
|
|
161
185
|
job: job,
|
|
162
186
|
jobName: jobName,
|
|
187
|
+
jobKey: jobKey,
|
|
163
188
|
schedulerName: jobName.concat("-scheduler")
|
|
164
189
|
};
|
|
165
190
|
});
|
|
@@ -176,11 +201,12 @@ var getCloudRunJobsWithNames = function (context) {
|
|
|
176
201
|
return Boolean(entry[1]);
|
|
177
202
|
}).map(function (_a) {
|
|
178
203
|
var _b = __read(_a, 2),
|
|
179
|
-
|
|
204
|
+
jobKey = _b[0],
|
|
180
205
|
job = _b[1];
|
|
181
206
|
return {
|
|
182
|
-
jobName: getFullJobName(
|
|
183
|
-
job: job
|
|
207
|
+
jobName: getFullJobName(jobKey),
|
|
208
|
+
job: job,
|
|
209
|
+
jobKey: jobKey
|
|
184
210
|
};
|
|
185
211
|
});
|
|
186
212
|
return jobsWithNames;
|
|
@@ -35,13 +35,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
35
35
|
value: true
|
|
36
36
|
});
|
|
37
37
|
exports.createCustomDeployJobs = void 0;
|
|
38
|
+
var getAllCacheConfigsFromConfig_1 = require("../../build/cache/getAllCacheConfigsFromConfig");
|
|
38
39
|
var yarn_1 = require("../../build/node/yarn");
|
|
39
40
|
var runner_1 = require("../../runner");
|
|
40
41
|
var base_1 = require("../base");
|
|
41
42
|
var sbom_1 = require("../sbom");
|
|
42
43
|
var types_1 = require("../types");
|
|
43
44
|
var createCustomDeployJobs = function (context) {
|
|
44
|
-
var _a, _b, _c
|
|
45
|
+
var _a, _b, _c;
|
|
45
46
|
var deployConfig = (_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config;
|
|
46
47
|
if (!(0, types_1.isOfDeployType)(deployConfig, "custom")) {
|
|
47
48
|
// should not happen
|
|
@@ -51,18 +52,19 @@ var createCustomDeployJobs = function (context) {
|
|
|
51
52
|
var yarnInstall = (0, yarn_1.getYarnInstall)(context, {
|
|
52
53
|
noCustomPostInstall: true
|
|
53
54
|
});
|
|
54
|
-
|
|
55
|
+
var result = (0, base_1.createDeployementJobs)(context, {
|
|
55
56
|
deploy: {
|
|
56
57
|
image: (_b = deployConfig.jobImage) !== null && _b !== void 0 ? _b : (0, runner_1.getRunnerImage)("jobs-default"),
|
|
57
|
-
cache: (
|
|
58
|
+
cache: (0, getAllCacheConfigsFromConfig_1.getAllCacheConfigsFromConfig)(context, deployConfig),
|
|
58
59
|
script: __spreadArray(__spreadArray(__spreadArray(["cd ".concat(context.build.dir)], __read(deployConfig.requiresYarnInstall ? yarnInstall : []), false), __read(deployConfig.script), false), __read((0, sbom_1.getDependencyTrackUploadScript)(context)), false),
|
|
59
60
|
variables: {}
|
|
60
61
|
},
|
|
61
62
|
stop: deployConfig.stopScript ? {
|
|
62
|
-
image: (
|
|
63
|
+
image: (_c = deployConfig.jobImage) !== null && _c !== void 0 ? _c : (0, runner_1.getRunnerImage)("jobs-default"),
|
|
63
64
|
script: __spreadArray(__spreadArray([], __read(deployConfig.stopScript), false), __read((0, sbom_1.getDependencyTrackDeleteScript)(context)), false),
|
|
64
65
|
variables: {}
|
|
65
66
|
} : undefined
|
|
66
67
|
});
|
|
68
|
+
return result;
|
|
67
69
|
};
|
|
68
70
|
exports.createCustomDeployJobs = createCustomDeployJobs;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { WithCacheConfig } from "../../build";
|
|
1
2
|
import type { GitlabJobImage } from "../../types";
|
|
2
|
-
import type { CatladderJob } from "../../types/jobs";
|
|
3
3
|
import type { DeployConfigBase } from "./base";
|
|
4
4
|
export type DeployConfigCustom = {
|
|
5
5
|
/**
|
|
@@ -26,8 +26,4 @@ export type DeployConfigCustom = {
|
|
|
26
26
|
* image to use
|
|
27
27
|
*/
|
|
28
28
|
jobImage?: GitlabJobImage;
|
|
29
|
-
|
|
30
|
-
* customize cache for the job
|
|
31
|
-
*/
|
|
32
|
-
jobCache?: CatladderJob["cache"];
|
|
33
|
-
} & DeployConfigBase;
|
|
29
|
+
} & DeployConfigBase & WithCacheConfig;
|