@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.
Files changed (93) hide show
  1. package/dist/build/base/writeDotEnv.js +0 -1
  2. package/dist/build/docker.js +0 -1
  3. package/dist/build/node/meteor.js +0 -1
  4. package/dist/build/rails/test.js +0 -1
  5. package/dist/build/types.d.ts +1 -1
  6. package/dist/catladder-gitlab.js +2 -3
  7. package/dist/config/readConfig.js +0 -1
  8. package/dist/constants.js +1 -1
  9. package/dist/context/getEnvironmentVariables.d.ts +1 -1
  10. package/dist/context/getEnvironmentVariables.js +0 -1
  11. package/dist/context/getReviewSlug.js +0 -1
  12. package/dist/deploy/cloudRun/createJobs/index.js +0 -1
  13. package/dist/deploy/kubernetes/deployJob.js +0 -1
  14. package/dist/deploy/types/index.d.ts +3 -3
  15. package/dist/pipeline/createMainPipeline.js +20 -6
  16. package/dist/pipeline/generatePipelineFiles.d.ts +7 -40
  17. package/dist/pipeline/generatePipelineFiles.js +113 -49
  18. package/dist/pipeline/gitlab/createGitlabJobs.d.ts +6 -4
  19. package/dist/pipeline/gitlab/gitlabReleaseJobs.d.ts +0 -2
  20. package/dist/pipeline/gitlab/gitlabReleaseJobs.js +2 -4
  21. package/dist/pipeline/index.d.ts +0 -1
  22. package/dist/pipeline/index.js +0 -1
  23. package/dist/tsconfig.tsbuildinfo +1 -1
  24. package/dist/types/config.d.ts +3 -3
  25. package/dist/types/gitlab-types.d.ts +2 -1
  26. package/dist/types/pipeline.d.ts +0 -1
  27. package/dist/utils/writeFiles.js +0 -2
  28. package/dist/variables/__tests__/resolveAllReferences.test.js +0 -1
  29. package/dist/variables/__tests__/resolveReferencesOnce.test.js +0 -3
  30. package/examples/__snapshots__/cloud-run-http2.test.ts.snap +0 -2
  31. package/examples/__snapshots__/cloud-run-memory-limit.test.ts.snap +0 -2
  32. package/examples/__snapshots__/cloud-run-meteor-with-worker.test.ts.snap +0 -2
  33. package/examples/__snapshots__/cloud-run-nextjs.test.ts.snap +0 -2
  34. package/examples/__snapshots__/cloud-run-no-cpu-throttling.test.ts.snap +0 -2
  35. package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +0 -2
  36. package/examples/__snapshots__/cloud-run-non-public.test.ts.snap +0 -2
  37. package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +0 -2
  38. package/examples/__snapshots__/cloud-run-service-custom-vpc-connector.test.ts.snap +0 -2
  39. package/examples/__snapshots__/cloud-run-service-custom-vpc.test.ts.snap +0 -2
  40. package/examples/__snapshots__/cloud-run-service-gen2.test.ts.snap +0 -2
  41. package/examples/__snapshots__/cloud-run-service-increase-timout.test.ts.snap +0 -2
  42. package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +0 -2
  43. package/examples/__snapshots__/cloud-run-storybook.test.ts.snap +0 -2
  44. package/examples/__snapshots__/cloud-run-with-ngnix.test.ts.snap +0 -2
  45. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.test.ts.snap +0 -2
  46. package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +0 -2
  47. package/examples/__snapshots__/cloud-run-with-worker.test.ts.snap +0 -2
  48. package/examples/__snapshots__/custom-build-job-with-tests.test.ts.snap +0 -2
  49. package/examples/__snapshots__/custom-build-job.test.ts.snap +0 -2
  50. package/examples/__snapshots__/custom-deploy.test.ts.snap +0 -2
  51. package/examples/__snapshots__/custom-envs.test.ts.snap +0 -2
  52. package/examples/__snapshots__/custom-sbom-java.test.ts.snap +0 -2
  53. package/examples/__snapshots__/git-submodule.test.ts.snap +0 -2
  54. package/examples/__snapshots__/kubernetes-application-customization.test.ts.snap +0 -2
  55. package/examples/__snapshots__/kubernetes-with-cloud-sql.test.ts.snap +0 -2
  56. package/examples/__snapshots__/kubernetes-with-jobs.test.ts.snap +0 -2
  57. package/examples/__snapshots__/kubernetes-with-mongodb.test.ts.snap +0 -2
  58. package/examples/__snapshots__/local-dot-env.test.ts.snap +0 -2
  59. package/examples/__snapshots__/meteor-kubernetes.test.ts.snap +0 -2
  60. package/examples/__snapshots__/multiline-var.test.ts.snap +0 -2
  61. package/examples/__snapshots__/native-app.test.ts.snap +0 -2
  62. package/examples/__snapshots__/node-build-with-custom-image.test.ts.snap +0 -2
  63. package/examples/__snapshots__/node-build-with-docker-additions.test.ts.snap +0 -2
  64. package/examples/__snapshots__/rails-k8s-with-worker-dockerfile.test.ts.snap +0 -2
  65. package/examples/__snapshots__/rails-k8s-with-worker.test.ts.snap +0 -2
  66. package/examples/__snapshots__/referencing-other-vars.test.ts.snap +0 -2
  67. package/examples/__snapshots__/wait-for-other-deploy.test.ts.snap +0 -2
  68. package/examples/__snapshots__/workspace-api-www-turbo-cache.test.ts.snap +0 -2
  69. package/examples/__snapshots__/workspace-api-www.test.ts.snap +0 -2
  70. package/examples/__utils__/helpers.ts +2 -18
  71. package/examples/rails-k8s-with-worker-dockerfile.test.ts +11 -4
  72. package/package.json +16 -17
  73. package/src/build/cache/createJobCache.ts +2 -2
  74. package/src/build/sbom.ts +2 -2
  75. package/src/catladder-gitlab.ts +2 -9
  76. package/src/config/readConfig.ts +0 -1
  77. package/src/context/createComponentContext.ts +1 -1
  78. package/src/context/getEnvironmentVariables.ts +1 -1
  79. package/src/deploy/base/deploy.ts +3 -3
  80. package/src/deploy/cloudRun/createJobs/cloudRunServices.ts +1 -1
  81. package/src/pipeline/createMainPipeline.ts +17 -9
  82. package/src/pipeline/generatePipelineFiles.ts +82 -58
  83. package/src/pipeline/gitlab/createGitlabJobs.ts +4 -4
  84. package/src/pipeline/gitlab/gitlabReleaseJobs.ts +2 -4
  85. package/src/pipeline/index.ts +0 -1
  86. package/src/types/gitlab-types.ts +2 -1
  87. package/src/types/pipeline.ts +0 -4
  88. package/dist/pipeline/createChildPipeline.d.ts +0 -3
  89. package/dist/pipeline/createChildPipeline.js +0 -163
  90. package/dist/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.d.ts +0 -1
  91. package/dist/pipeline/gitlab/getPipelineTriggerForGitlabChildPipeline.js +0 -29
  92. package/src/pipeline/createChildPipeline.ts +0 -37
  93. 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
- }