@catladder/pipeline 0.0.8 → 1.0.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 (211) hide show
  1. package/babel-inline.json +11 -0
  2. package/bin/catladder-gitlab.js +3 -0
  3. package/dist/build/base/constants.d.ts +7 -0
  4. package/dist/build/base/constants.js +11 -0
  5. package/dist/build/base/createBuildJob.d.ts +5 -0
  6. package/dist/build/base/createBuildJob.js +99 -0
  7. package/dist/build/docker.d.ts +5 -0
  8. package/dist/build/docker.js +95 -0
  9. package/dist/build/index.d.ts +12 -0
  10. package/dist/build/index.js +63 -0
  11. package/dist/build/node/buildJob.d.ts +3 -0
  12. package/dist/build/node/buildJob.js +97 -0
  13. package/dist/build/node/cache.d.ts +4 -0
  14. package/dist/build/node/cache.js +67 -0
  15. package/dist/build/node/constants.d.ts +6 -0
  16. package/dist/build/node/constants.js +10 -0
  17. package/dist/build/node/index.d.ts +5 -0
  18. package/dist/build/node/index.js +63 -0
  19. package/dist/build/node/meteor.d.ts +3 -0
  20. package/dist/build/node/meteor.js +103 -0
  21. package/dist/build/node/testJob.d.ts +3 -0
  22. package/dist/build/node/testJob.js +112 -0
  23. package/dist/build/node/yarn.d.ts +2 -0
  24. package/dist/build/node/yarn.js +12 -0
  25. package/dist/build/tests/storybook.test.d.ts +1 -0
  26. package/dist/build/tests/storybook.test.js +221 -0
  27. package/dist/build/types.d.ts +63 -0
  28. package/dist/build/types.js +16 -0
  29. package/dist/catladder-gitlab.d.ts +1 -0
  30. package/dist/catladder-gitlab.js +44 -0
  31. package/dist/config/configruedEnvs.d.ts +4 -0
  32. package/dist/config/configruedEnvs.js +86 -0
  33. package/dist/config/configruedEnvs.test.d.ts +1 -0
  34. package/dist/config/configruedEnvs.test.js +103 -0
  35. package/dist/config/index.d.ts +2 -0
  36. package/dist/config/index.js +24 -0
  37. package/dist/config/readConfig.d.ts +2 -0
  38. package/dist/config/readConfig.js +47 -0
  39. package/dist/constants.d.ts +2 -0
  40. package/dist/constants.js +6 -0
  41. package/dist/context/index.d.ts +5 -0
  42. package/dist/context/index.js +211 -0
  43. package/dist/defaults/index.d.ts +2 -0
  44. package/dist/defaults/index.js +8 -0
  45. package/dist/deploy/base.d.ts +9 -0
  46. package/dist/deploy/base.js +94 -0
  47. package/dist/deploy/index.d.ts +11 -0
  48. package/dist/deploy/index.js +34 -0
  49. package/dist/deploy/kubernetes/cloudsql.d.ts +6 -0
  50. package/dist/deploy/kubernetes/cloudsql.js +16 -0
  51. package/dist/deploy/kubernetes/deployJob.d.ts +3 -0
  52. package/dist/deploy/kubernetes/deployJob.js +148 -0
  53. package/dist/deploy/kubernetes/index.d.ts +1 -0
  54. package/dist/deploy/kubernetes/index.js +22 -0
  55. package/dist/deploy/kubernetes/mongodb.d.ts +15 -0
  56. package/dist/deploy/kubernetes/mongodb.js +23 -0
  57. package/dist/deploy/types.d.ts +92 -0
  58. package/dist/deploy/types.js +16 -0
  59. package/dist/index.d.ts +8 -0
  60. package/dist/index.js +36 -0
  61. package/dist/pipeline/createChildPipeline.d.ts +9 -0
  62. package/dist/pipeline/createChildPipeline.js +266 -0
  63. package/dist/pipeline/createChildPipeline.test.d.ts +1 -0
  64. package/dist/pipeline/createChildPipeline.test.js +199 -0
  65. package/dist/pipeline/createJobs.d.ts +3 -0
  66. package/dist/pipeline/createJobs.js +331 -0
  67. package/dist/pipeline/index.d.ts +2 -0
  68. package/dist/pipeline/index.js +24 -0
  69. package/dist/pipeline/yarnInfo.d.ts +2 -0
  70. package/dist/pipeline/yarnInfo.js +296 -0
  71. package/dist/rules/index.d.ts +3 -0
  72. package/dist/rules/index.js +27 -0
  73. package/dist/runner/index.d.ts +3 -0
  74. package/dist/runner/index.js +12 -0
  75. package/dist/tsconfig.tsbuildinfo +1 -0
  76. package/dist/types/config.d.ts +73 -0
  77. package/dist/types/config.js +80 -0
  78. package/dist/types/context.d.ts +36 -0
  79. package/dist/types/context.js +3 -0
  80. package/dist/types/gitlab-types.d.ts +86 -0
  81. package/dist/types/gitlab-types.js +5 -0
  82. package/dist/{scripts/magic/types → types}/index.d.ts +1 -1
  83. package/dist/types/index.js +26 -0
  84. package/dist/utils/index.d.ts +2 -0
  85. package/dist/utils/index.js +18 -0
  86. package/package.json +30 -9
  87. package/src/build/base/constants.ts +7 -0
  88. package/src/build/base/createBuildJob.ts +46 -0
  89. package/{scripts/magic → src}/build/docker.ts +15 -2
  90. package/src/build/index.ts +42 -0
  91. package/src/build/node/buildJob.ts +54 -0
  92. package/src/build/node/cache.ts +36 -0
  93. package/src/build/node/constants.ts +6 -0
  94. package/src/build/node/index.ts +17 -0
  95. package/src/build/node/meteor.ts +75 -0
  96. package/src/build/node/testJob.ts +80 -0
  97. package/src/build/node/yarn.ts +8 -0
  98. package/src/build/tests/storybook.test.ts +46 -0
  99. package/src/build/types.ts +75 -0
  100. package/src/catladder-gitlab.ts +52 -0
  101. package/src/config/configruedEnvs.test.ts +97 -0
  102. package/src/config/configruedEnvs.ts +56 -0
  103. package/src/config/index.ts +2 -0
  104. package/src/config/readConfig.ts +36 -0
  105. package/src/constants.ts +2 -0
  106. package/src/context/index.ts +194 -0
  107. package/src/defaults/index.ts +6 -0
  108. package/src/deploy/base.ts +101 -0
  109. package/src/deploy/index.ts +19 -0
  110. package/src/deploy/kubernetes/cloudsql.ts +13 -0
  111. package/src/deploy/kubernetes/deployJob.ts +116 -0
  112. package/src/deploy/kubernetes/index.ts +1 -0
  113. package/src/deploy/kubernetes/mongodb.ts +20 -0
  114. package/src/deploy/types.ts +60 -0
  115. package/src/index.ts +8 -0
  116. package/{scripts/magic/tests/createPipeline.test.ts → src/pipeline/createChildPipeline.test.ts} +5 -4
  117. package/src/pipeline/createChildPipeline.ts +51 -0
  118. package/src/pipeline/createJobs.ts +158 -0
  119. package/src/pipeline/index.ts +2 -0
  120. package/src/pipeline/yarnInfo.ts +54 -0
  121. package/src/rules/index.ts +37 -0
  122. package/src/runner/index.ts +10 -0
  123. package/src/types/config.ts +88 -0
  124. package/src/types/context.ts +36 -0
  125. package/src/types/gitlab-types.ts +94 -0
  126. package/{scripts/magic → src}/types/index.ts +0 -0
  127. package/src/utils/index.ts +10 -0
  128. package/tsconfig.json +4 -2
  129. package/Dockerfile +0 -84
  130. package/dist/scripts/createSamplePipeline.d.ts +0 -2
  131. package/dist/scripts/createSamplePipeline.js +0 -14
  132. package/dist/scripts/magic/build/docker.d.ts +0 -2
  133. package/dist/scripts/magic/build/docker.js +0 -68
  134. package/dist/scripts/magic/build/index.d.ts +0 -9
  135. package/dist/scripts/magic/build/index.js +0 -12
  136. package/dist/scripts/magic/build/node.d.ts +0 -6
  137. package/dist/scripts/magic/build/node.js +0 -150
  138. package/dist/scripts/magic/build/types.d.ts +0 -18
  139. package/dist/scripts/magic/build/types.js +0 -7
  140. package/dist/scripts/magic/context/index.d.ts +0 -3
  141. package/dist/scripts/magic/context/index.js +0 -122
  142. package/dist/scripts/magic/createChildPipeline/index.d.ts +0 -3
  143. package/dist/scripts/magic/createChildPipeline/index.js +0 -68
  144. package/dist/scripts/magic/createPipeline.d.ts +0 -14
  145. package/dist/scripts/magic/createPipeline.js +0 -80
  146. package/dist/scripts/magic/deploy/index.d.ts +0 -9
  147. package/dist/scripts/magic/deploy/index.js +0 -12
  148. package/dist/scripts/magic/deploy/kubernetes.d.ts +0 -5
  149. package/dist/scripts/magic/deploy/kubernetes.js +0 -62
  150. package/dist/scripts/magic/deploy/types.d.ts +0 -41
  151. package/dist/scripts/magic/deploy/types.js +0 -7
  152. package/dist/scripts/magic/index.d.ts +0 -2
  153. package/dist/scripts/magic/index.js +0 -16
  154. package/dist/scripts/magic/sample-config.d.ts +0 -3
  155. package/dist/scripts/magic/sample-config.js +0 -77
  156. package/dist/scripts/magic/tests/createPipeline.test.d.ts +0 -1
  157. package/dist/scripts/magic/tests/createPipeline.test.js +0 -89
  158. package/dist/scripts/magic/types/config.d.ts +0 -49
  159. package/dist/scripts/magic/types/config.js +0 -17
  160. package/dist/scripts/magic/types/context.d.ts +0 -19
  161. package/dist/scripts/magic/types/context.js +0 -2
  162. package/dist/scripts/magic/types/gitlab-types.d.ts +0 -57
  163. package/dist/scripts/magic/types/gitlab-types.js +0 -2
  164. package/dist/scripts/magic/types/index.js +0 -15
  165. package/dist/scripts/magic.d.ts +0 -2
  166. package/dist/scripts/magic.js +0 -43
  167. package/dist/scripts/monorepoGenerate.d.ts +0 -2
  168. package/dist/scripts/monorepoGenerate.js +0 -164
  169. package/dist/scripts/printAllValues.d.ts +0 -2
  170. package/dist/scripts/printAllValues.js +0 -58
  171. package/dist/scripts/printBuildEnv.d.ts +0 -2
  172. package/dist/scripts/printBuildEnv.js +0 -77
  173. package/dist/scripts/utils/extractAllValues.d.ts +0 -1
  174. package/dist/scripts/utils/extractAllValues.js +0 -78
  175. package/dist/scripts/utils/extractBuildEnv.d.ts +0 -5
  176. package/dist/scripts/utils/extractBuildEnv.js +0 -152
  177. package/dist/scripts/utils/extractValuesFromEnvVars.d.ts +0 -2
  178. package/dist/scripts/utils/extractValuesFromEnvVars.js +0 -63
  179. package/dist/scripts/utils/extractValuesFromMr.d.ts +0 -2
  180. package/dist/scripts/utils/extractValuesFromMr.js +0 -86
  181. package/dist/tests/extractValuesFromMr.test.d.ts +0 -1
  182. package/dist/tests/extractValuesFromMr.test.js +0 -68
  183. package/scripts/createSamplePipeline.ts +0 -10
  184. package/scripts/getCommitInfo +0 -11
  185. package/scripts/kubernetesCreateSecret +0 -9
  186. package/scripts/kubernetesDelete +0 -4
  187. package/scripts/kubernetesDeploy +0 -55
  188. package/scripts/kubernetesEnsureNamespace +0 -3
  189. package/scripts/magic/build/index.ts +0 -18
  190. package/scripts/magic/build/node.ts +0 -143
  191. package/scripts/magic/build/types.ts +0 -21
  192. package/scripts/magic/context/index.ts +0 -127
  193. package/scripts/magic/createChildPipeline/index.ts +0 -60
  194. package/scripts/magic/createPipeline.ts +0 -52
  195. package/scripts/magic/deploy/index.ts +0 -19
  196. package/scripts/magic/deploy/kubernetes.ts +0 -65
  197. package/scripts/magic/deploy/types.ts +0 -29
  198. package/scripts/magic/index.ts +0 -2
  199. package/scripts/magic/sample-config.ts +0 -78
  200. package/scripts/magic/types/config.ts +0 -54
  201. package/scripts/magic/types/context.ts +0 -21
  202. package/scripts/magic/types/gitlab-types.ts +0 -69
  203. package/scripts/magic.ts +0 -51
  204. package/scripts/monorepoGenerate.ts +0 -104
  205. package/scripts/printAllValues.ts +0 -17
  206. package/scripts/printBuildEnv.ts +0 -22
  207. package/scripts/utils/extractAllValues.ts +0 -32
  208. package/scripts/utils/extractBuildEnv.ts +0 -94
  209. package/scripts/utils/extractValuesFromEnvVars.ts +0 -21
  210. package/scripts/utils/extractValuesFromMr.ts +0 -39
  211. package/tests/extractValuesFromMr.test.ts +0 -156
@@ -0,0 +1,11 @@
1
+ {
2
+ "plugins": [
3
+ "@babel/plugin-syntax-typescript",
4
+ [
5
+ "transform-inline-environment-variables",
6
+ {
7
+ "include": ["INLINE_PIPELINE_IMAGE_TAG", "INLINE_DOCKER_REGISTRY"]
8
+ }
9
+ ]
10
+ ]
11
+ }
@@ -0,0 +1,3 @@
1
+ #! /usr/bin/env node
2
+
3
+ require("../dist/catladder-gitlab.js");
@@ -0,0 +1,7 @@
1
+ export declare const APP_BUILD_JOB_NAME = "\uD83D\uDD28 app";
2
+ export declare const RUNNER_BUILD_RESOURCE_VARIABLES: {
3
+ KUBERNETES_CPU_REQUEST: string;
4
+ KUBERNETES_CPU_LIMIT: string;
5
+ KUBERNETES_MEMORY_REQUEST: string;
6
+ KUBERNETES_MEMORY_LIMIT: string;
7
+ };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.RUNNER_BUILD_RESOURCE_VARIABLES = exports.APP_BUILD_JOB_NAME = void 0;
5
+ exports.APP_BUILD_JOB_NAME = "🔨 app";
6
+ exports.RUNNER_BUILD_RESOURCE_VARIABLES = {
7
+ KUBERNETES_CPU_REQUEST: "0.5",
8
+ KUBERNETES_CPU_LIMIT: "2",
9
+ KUBERNETES_MEMORY_REQUEST: "512Mi",
10
+ KUBERNETES_MEMORY_LIMIT: "2Gi"
11
+ };
@@ -0,0 +1,5 @@
1
+ import { Context, GitlabJob, GitlabJobDef } from "../..";
2
+ export declare const createBuildJob: (context: Context, {
3
+ script,
4
+ ...def
5
+ }: Partial<GitlabJobDef>) => GitlabJob;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+
3
+ var __assign = this && this.__assign || function () {
4
+ __assign = Object.assign || function (t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+
8
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
9
+ }
10
+
11
+ return t;
12
+ };
13
+
14
+ return __assign.apply(this, arguments);
15
+ };
16
+
17
+ var __rest = this && this.__rest || function (s, e) {
18
+ var t = {};
19
+
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
21
+
22
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
23
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
24
+ }
25
+ return t;
26
+ };
27
+
28
+ var __read = this && this.__read || function (o, n) {
29
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
30
+ if (!m) return o;
31
+ var i = m.call(o),
32
+ r,
33
+ ar = [],
34
+ e;
35
+
36
+ try {
37
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
38
+ } catch (error) {
39
+ e = {
40
+ error: error
41
+ };
42
+ } finally {
43
+ try {
44
+ if (r && !r.done && (m = i["return"])) m.call(i);
45
+ } finally {
46
+ if (e) throw e.error;
47
+ }
48
+ }
49
+
50
+ return ar;
51
+ };
52
+
53
+ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
54
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
55
+ if (ar || !(i in from)) {
56
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
57
+ ar[i] = from[i];
58
+ }
59
+ }
60
+ return to.concat(ar || Array.prototype.slice.call(from));
61
+ };
62
+
63
+ exports.__esModule = true;
64
+ exports.createBuildJob = void 0;
65
+
66
+ var lodash_1 = require("lodash");
67
+
68
+ var defaults_1 = require("../../defaults");
69
+
70
+ var utils_1 = require("../../utils");
71
+
72
+ var constants_1 = require("./constants");
73
+
74
+ var createBuildJob = function (context, _a) {
75
+ var _b, _c;
76
+
77
+ var script = _a.script,
78
+ def = __rest(_a, ["script"]);
79
+
80
+ var buildInfo = [". getCommitInfo", "echo '{\"id\":\"'$BUILD_ID'\",\"commit\":\"'$BUILD_COMMIT'\",\"tag\":\"'$BUILD_TAG'\",\"time\":\"'$BUILD_TIME'\"}' > ".concat(context.componentConfig.dir, "/__build_info.json")];
81
+ return {
82
+ name: constants_1.APP_BUILD_JOB_NAME,
83
+ envMode: "jobPerEnv",
84
+ job: (0, lodash_1.merge)({
85
+ needs: [],
86
+ cache: [],
87
+ variables: __assign(__assign(__assign({}, constants_1.RUNNER_BUILD_RESOURCE_VARIABLES), context.environment.envVars), (_b = context.componentConfig.build.extraVars) !== null && _b !== void 0 ? _b : {}),
88
+ retry: defaults_1.BASE_RETRY,
89
+ interruptible: true,
90
+ stage: "build",
91
+ script: __spreadArray(__spreadArray(__spreadArray([], __read(buildInfo), false), ["cd ".concat(context.componentConfig.dir)], false), __read((_c = (0, utils_1.ensureArray)(script)) !== null && _c !== void 0 ? _c : []), false),
92
+ artifacts: {
93
+ paths: [context.componentConfig.dir + "/__build_info.json"]
94
+ }
95
+ }, def)
96
+ };
97
+ };
98
+
99
+ exports.createBuildJob = createBuildJob;
@@ -0,0 +1,5 @@
1
+ import { GitlabJobDef, Context } from "../types";
2
+ export declare const DOCKER_BUILD_JOB_NAME = "\uD83D\uDD28 docker";
3
+ export declare const createDockerBuildJob: (context: Context, {
4
+ script
5
+ }: Pick<GitlabJobDef, "script">) => GitlabJobDef;
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ var __assign = this && this.__assign || function () {
4
+ __assign = Object.assign || function (t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+
8
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
9
+ }
10
+
11
+ return t;
12
+ };
13
+
14
+ return __assign.apply(this, arguments);
15
+ };
16
+
17
+ var __read = this && this.__read || function (o, n) {
18
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
19
+ if (!m) return o;
20
+ var i = m.call(o),
21
+ r,
22
+ ar = [],
23
+ e;
24
+
25
+ try {
26
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
27
+ } catch (error) {
28
+ e = {
29
+ error: error
30
+ };
31
+ } finally {
32
+ try {
33
+ if (r && !r.done && (m = i["return"])) m.call(i);
34
+ } finally {
35
+ if (e) throw e.error;
36
+ }
37
+ }
38
+
39
+ return ar;
40
+ };
41
+
42
+ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
43
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
44
+ if (ar || !(i in from)) {
45
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
46
+ ar[i] = from[i];
47
+ }
48
+ }
49
+ return to.concat(ar || Array.prototype.slice.call(from));
50
+ };
51
+
52
+ exports.__esModule = true;
53
+ exports.createDockerBuildJob = exports.DOCKER_BUILD_JOB_NAME = void 0;
54
+
55
+ var runner_1 = require("../runner");
56
+
57
+ var DOCKER_RUNNER_BUILD_VARIABLES = {
58
+ KUBERNETES_CPU_REQUEST: "0.5",
59
+ KUBERNETES_CPU_LIMIT: "1",
60
+ KUBERNETES_MEMORY_REQUEST: "1Gi",
61
+ KUBERNETES_MEMORY_LIMIT: "2Gi"
62
+ };
63
+ exports.DOCKER_BUILD_JOB_NAME = "🔨 docker";
64
+
65
+ var createDockerBuildJob = function (context, _a) {
66
+ var _b, _c, _d, _e;
67
+
68
+ var script = _a.script;
69
+ var base = {
70
+ stage: "build",
71
+ image: (0, runner_1.getRunnerImage)("docker-build"),
72
+ interruptible: true,
73
+ services: [{
74
+ name: "docker:20-dind",
75
+ command: ["--tls=false"]
76
+ }],
77
+ variables: __assign(__assign({}, DOCKER_RUNNER_BUILD_VARIABLES), {
78
+ DOCKERFILE_ADDITIONS: (_c = (_b = context.componentConfig.build.docker) === null || _b === void 0 ? void 0 : _b.additionsBegin) === null || _c === void 0 ? void 0 : _c.join("\n"),
79
+ DOCKERFILE_ADDITIONS_END: (_e = (_d = context.componentConfig.build.docker) === null || _d === void 0 ? void 0 : _d.additionsEnd) === null || _e === void 0 ? void 0 : _e.join("\n"),
80
+ APP_DIR: context.componentConfig.dir,
81
+ DOCKER_HOST: "tcp://0.0.0.0:2375",
82
+ DOCKER_TLS_CERTDIR: "",
83
+ DOCKER_DIR: ".",
84
+ IMAGE_TAG: "$CI_COMMIT_SHA",
85
+ DOCKER_DRIVER: "overlay2",
86
+ IMAGE_NAME: "$CI_REGISTRY_IMAGE/" + context.componentName,
87
+ CACHE_IMAGE: "$CI_REGISTRY_IMAGE/" + context.componentName + "/cache:cache"
88
+ })
89
+ };
90
+ return __assign(__assign({}, base), {
91
+ script: __spreadArray(__spreadArray([], __read(script), false), ["docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY", "docker pull $CACHE_IMAGE || true", "docker build --network host --cache-from $CACHE_IMAGE --tag $IMAGE_NAME:$IMAGE_TAG -f $APP_DIR/Dockerfile .", "docker push $IMAGE_NAME:$IMAGE_TAG", "docker tag $IMAGE_NAME:$IMAGE_TAG $CACHE_IMAGE", "docker push $CACHE_IMAGE"], false)
92
+ });
93
+ };
94
+
95
+ exports.createDockerBuildJob = createDockerBuildJob;
@@ -0,0 +1,12 @@
1
+ import { Context } from "../types/context";
2
+ import { GitlabJobs } from "../types/gitlab-types";
3
+ import { BuildConfig } from "./types";
4
+ export * from "./types";
5
+ export * from "./node";
6
+ export declare type BuildTypes = { [type in BuildConfig["type"]]: {
7
+ jobs: (context: Context) => GitlabJobs;
8
+ defaults: () => Partial<Extract<BuildConfig, {
9
+ type: type;
10
+ }>>;
11
+ } };
12
+ export declare const BUILD_TYPES: BuildTypes;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var __createBinding = this && this.__createBinding || (Object.create ? function (o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ Object.defineProperty(o, k2, {
6
+ enumerable: true,
7
+ get: function () {
8
+ return m[k];
9
+ }
10
+ });
11
+ } : function (o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ });
15
+
16
+ var __exportStar = this && this.__exportStar || function (m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+
20
+ exports.__esModule = true;
21
+ exports.BUILD_TYPES = void 0;
22
+
23
+ var node_1 = require("./node");
24
+
25
+ __exportStar(require("./types"), exports);
26
+
27
+ __exportStar(require("./node"), exports);
28
+
29
+ exports.BUILD_TYPES = {
30
+ node: {
31
+ jobs: node_1.createNodeJobs,
32
+ defaults: function () {
33
+ return {
34
+ buildCommand: "yarn build",
35
+ startCommand: "yarn start"
36
+ };
37
+ }
38
+ },
39
+ "node-static": {
40
+ jobs: node_1.createNodeJobs,
41
+ defaults: function () {
42
+ return {
43
+ buildCommand: "yarn build"
44
+ };
45
+ }
46
+ },
47
+ storybook: {
48
+ jobs: node_1.createStorybookJobs,
49
+ defaults: function () {
50
+ return {
51
+ buildCommand: ["yarn storybook", "mv ./storybook-out /dist"]
52
+ };
53
+ }
54
+ },
55
+ meteor: {
56
+ jobs: node_1.createMeteorJobs,
57
+ defaults: function () {
58
+ return {
59
+ startCommand: "node main.js"
60
+ };
61
+ }
62
+ }
63
+ };
@@ -0,0 +1,3 @@
1
+ import { Context } from "../../types/context";
2
+ import { GitlabJobs } from "../../types/gitlab-types";
3
+ export declare const createNodeBuildJobs: (context: Context) => GitlabJobs;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ var __assign = this && this.__assign || function () {
4
+ __assign = Object.assign || function (t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+
8
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
9
+ }
10
+
11
+ return t;
12
+ };
13
+
14
+ return __assign.apply(this, arguments);
15
+ };
16
+
17
+ var __read = this && this.__read || function (o, n) {
18
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
19
+ if (!m) return o;
20
+ var i = m.call(o),
21
+ r,
22
+ ar = [],
23
+ e;
24
+
25
+ try {
26
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
27
+ } catch (error) {
28
+ e = {
29
+ error: error
30
+ };
31
+ } finally {
32
+ try {
33
+ if (r && !r.done && (m = i["return"])) m.call(i);
34
+ } finally {
35
+ if (e) throw e.error;
36
+ }
37
+ }
38
+
39
+ return ar;
40
+ };
41
+
42
+ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
43
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
44
+ if (ar || !(i in from)) {
45
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
46
+ ar[i] = from[i];
47
+ }
48
+ }
49
+ return to.concat(ar || Array.prototype.slice.call(from));
50
+ };
51
+
52
+ exports.__esModule = true;
53
+ exports.createNodeBuildJobs = void 0;
54
+
55
+ var utils_1 = require("../../utils");
56
+
57
+ var constants_1 = require("../base/constants");
58
+
59
+ var createBuildJob_1 = require("../base/createBuildJob");
60
+
61
+ var docker_1 = require("../docker");
62
+
63
+ var types_1 = require("../types");
64
+
65
+ var cache_1 = require("./cache");
66
+
67
+ var yarn_1 = require("./yarn");
68
+
69
+ var createNodeBuildJobs = function (context) {
70
+ var _a;
71
+
72
+ var buildConfig = context.componentConfig.build;
73
+
74
+ if (!(0, types_1.isOfBuildType)(buildConfig, "node", "node-static", "storybook")) {
75
+ throw new Error("deploy config is not node, node-static or storybook");
76
+ }
77
+
78
+ var yarnInstall = (0, yarn_1.getYarnInstall)(context);
79
+ var appBuildJob = buildConfig.buildCommand !== null ? (0, createBuildJob_1.createBuildJob)(context, {
80
+ cache: __spreadArray(__spreadArray([], __read((0, cache_1.getNodeCache)(context)), false), __read((0, cache_1.getNextCache)(context)), false),
81
+ script: __spreadArray(__spreadArray([], __read(yarnInstall), false), __read((_a = (0, utils_1.ensureArray)(buildConfig.buildCommand)) !== null && _a !== void 0 ? _a : []), false),
82
+ artifacts: {
83
+ paths: [context.componentConfig.dir + "/__build_info.json", context.componentConfig.dir + "/dist", context.componentConfig.dir + "/.next"]
84
+ }
85
+ }) : null;
86
+ return __spreadArray(__spreadArray([], __read(appBuildJob ? [appBuildJob] : []), false), [{
87
+ name: docker_1.DOCKER_BUILD_JOB_NAME,
88
+ envMode: "jobPerEnv",
89
+ job: __assign(__assign({}, (0, docker_1.createDockerBuildJob)(context, {
90
+ script: [buildConfig.type === "node-static" || buildConfig.type === "storybook" ? "ensureNginxDockerfile" : "ensureNodeDockerfile"]
91
+ })), {
92
+ needs: appBuildJob ? [constants_1.APP_BUILD_JOB_NAME] : []
93
+ })
94
+ }], false);
95
+ };
96
+
97
+ exports.createNodeBuildJobs = createNodeBuildJobs;
@@ -0,0 +1,4 @@
1
+ import { Context } from "../../types/context";
2
+ import { GitlabJobCache } from "../../types/gitlab-types";
3
+ export declare const getNodeCache: (context: Context) => GitlabJobCache[];
4
+ export declare const getNextCache: (context: Context) => GitlabJobCache[];
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ var __read = this && this.__read || function (o, n) {
4
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
5
+ if (!m) return o;
6
+ var i = m.call(o),
7
+ r,
8
+ ar = [],
9
+ e;
10
+
11
+ try {
12
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
13
+ } catch (error) {
14
+ e = {
15
+ error: error
16
+ };
17
+ } finally {
18
+ try {
19
+ if (r && !r.done && (m = i["return"])) m.call(i);
20
+ } finally {
21
+ if (e) throw e.error;
22
+ }
23
+ }
24
+
25
+ return ar;
26
+ };
27
+
28
+ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
29
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
30
+ if (ar || !(i in from)) {
31
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
32
+ ar[i] = from[i];
33
+ }
34
+ }
35
+ return to.concat(ar || Array.prototype.slice.call(from));
36
+ };
37
+
38
+ exports.__esModule = true;
39
+ exports.getNextCache = exports.getNodeCache = void 0;
40
+
41
+ var path_1 = require("path");
42
+
43
+ var getNodeCache = function (context) {
44
+ var _a, _b, _c;
45
+
46
+ var componentIsInWorkspace = (_a = context.yarnInfo) === null || _a === void 0 ? void 0 : _a.componentIsInWorkspace;
47
+ return [{
48
+ // if component is in a shared workspace, use workspace cache. use individual cache else
49
+ key: componentIsInWorkspace ? "node-modules-workspace" : context.componentName + "-node-modules",
50
+ policy: "pull-push",
51
+ paths: __spreadArray([".yarn"], __read(componentIsInWorkspace ? __spreadArray(["node_modules"], __read((_c = (_b = context.yarnInfo) === null || _b === void 0 ? void 0 : _b.workspaces.map(function (w) {
52
+ return (0, path_1.join)(w.location, "node_modules");
53
+ })) !== null && _c !== void 0 ? _c : []), false) : [(0, path_1.join)(context.componentConfig.dir, "node_modules")]), false)
54
+ }];
55
+ };
56
+
57
+ exports.getNodeCache = getNodeCache;
58
+
59
+ var getNextCache = function (context) {
60
+ return [{
61
+ key: context.componentName + "-next-cache",
62
+ policy: "pull-push",
63
+ paths: [context.componentConfig.dir + "/.next/cache/"]
64
+ }];
65
+ };
66
+
67
+ exports.getNextCache = getNextCache;
@@ -0,0 +1,6 @@
1
+ export declare const NODE_RUNNER_BUILD_VARIABLES: {
2
+ KUBERNETES_CPU_REQUEST: string;
3
+ KUBERNETES_CPU_LIMIT: string;
4
+ KUBERNETES_MEMORY_REQUEST: string;
5
+ KUBERNETES_MEMORY_LIMIT: string;
6
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.NODE_RUNNER_BUILD_VARIABLES = void 0;
5
+ exports.NODE_RUNNER_BUILD_VARIABLES = {
6
+ KUBERNETES_CPU_REQUEST: "0.5",
7
+ KUBERNETES_CPU_LIMIT: "2",
8
+ KUBERNETES_MEMORY_REQUEST: "512Mi",
9
+ KUBERNETES_MEMORY_LIMIT: "2Gi"
10
+ };
@@ -0,0 +1,5 @@
1
+ import type { Context } from "../../types/context";
2
+ import type { GitlabJobs } from "../../types/gitlab-types";
3
+ export declare const createNodeJobs: (context: Context) => GitlabJobs;
4
+ export declare const createStorybookJobs: (context: Context) => GitlabJobs;
5
+ export declare const createMeteorJobs: (context: Context) => GitlabJobs;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var __read = this && this.__read || function (o, n) {
4
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
5
+ if (!m) return o;
6
+ var i = m.call(o),
7
+ r,
8
+ ar = [],
9
+ e;
10
+
11
+ try {
12
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
13
+ } catch (error) {
14
+ e = {
15
+ error: error
16
+ };
17
+ } finally {
18
+ try {
19
+ if (r && !r.done && (m = i["return"])) m.call(i);
20
+ } finally {
21
+ if (e) throw e.error;
22
+ }
23
+ }
24
+
25
+ return ar;
26
+ };
27
+
28
+ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
29
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
30
+ if (ar || !(i in from)) {
31
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
32
+ ar[i] = from[i];
33
+ }
34
+ }
35
+ return to.concat(ar || Array.prototype.slice.call(from));
36
+ };
37
+
38
+ exports.__esModule = true;
39
+ exports.createMeteorJobs = exports.createStorybookJobs = exports.createNodeJobs = void 0;
40
+
41
+ var buildJob_1 = require("./buildJob");
42
+
43
+ var meteor_1 = require("./meteor");
44
+
45
+ var testJob_1 = require("./testJob");
46
+
47
+ var createNodeJobs = function (context) {
48
+ return __spreadArray(__spreadArray([], __read((0, testJob_1.createNodeTestJobs)(context)), false), __read((0, buildJob_1.createNodeBuildJobs)(context)), false);
49
+ };
50
+
51
+ exports.createNodeJobs = createNodeJobs;
52
+
53
+ var createStorybookJobs = function (context) {
54
+ return __spreadArray([], __read((0, buildJob_1.createNodeBuildJobs)(context)), false);
55
+ };
56
+
57
+ exports.createStorybookJobs = createStorybookJobs;
58
+
59
+ var createMeteorJobs = function (context) {
60
+ return __spreadArray(__spreadArray([], __read((0, testJob_1.createNodeTestJobs)(context)), false), __read((0, meteor_1.createMeteorBuildJobs)(context)), false);
61
+ };
62
+
63
+ exports.createMeteorJobs = createMeteorJobs;
@@ -0,0 +1,3 @@
1
+ import type { Context } from "../../types/context";
2
+ import type { GitlabJobs } from "../../types/gitlab-types";
3
+ export declare const createMeteorBuildJobs: (context: Context) => GitlabJobs;