@catladder/pipeline 0.0.0-node16-ddfae617 → 0.0.0-prettier-cbceeed9

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 (275) hide show
  1. package/bin/catladder-gitlab-dev.js +3 -0
  2. package/bin/catladder-gitlab.js +1 -1
  3. package/dist/build/base/createBuildJob.d.ts +2 -2
  4. package/dist/build/base/createBuildJob.js +15 -30
  5. package/dist/build/base/writeBuildInfo.d.ts +2 -0
  6. package/dist/build/base/{getBuildInfo.js → writeBuildInfo.js} +3 -6
  7. package/dist/build/custom/buildJob.d.ts +3 -0
  8. package/dist/build/custom/buildJob.js +83 -0
  9. package/dist/build/custom/index.d.ts +3 -0
  10. package/dist/build/custom/index.js +40 -0
  11. package/dist/build/docker.d.ts +33 -9
  12. package/dist/build/docker.js +51 -54
  13. package/dist/build/index.d.ts +6 -5
  14. package/dist/build/index.js +20 -6
  15. package/dist/build/node/buildJob.d.ts +2 -2
  16. package/dist/build/node/buildJob.js +3 -25
  17. package/dist/build/node/cache.d.ts +2 -2
  18. package/dist/build/node/cache.js +19 -22
  19. package/dist/build/node/index.d.ts +1 -1
  20. package/dist/build/node/index.js +3 -16
  21. package/dist/build/node/meteor.d.ts +1 -1
  22. package/dist/build/node/meteor.js +9 -20
  23. package/dist/build/node/testJob.d.ts +2 -2
  24. package/dist/build/node/testJob.js +7 -21
  25. package/dist/build/node/yarn.d.ts +1 -1
  26. package/dist/build/node/yarn.js +14 -15
  27. package/dist/build/rails/build.d.ts +3 -0
  28. package/dist/build/rails/build.js +51 -0
  29. package/dist/build/rails/index.d.ts +3 -0
  30. package/dist/build/rails/index.js +41 -0
  31. package/dist/build/rails/test.d.ts +3 -0
  32. package/dist/build/rails/test.js +94 -0
  33. package/dist/build/types.d.ts +84 -9
  34. package/dist/build/types.js +0 -4
  35. package/dist/bundles/catladder-gitlab/index.js +32979 -0
  36. package/dist/catladder-gitlab.js +7 -26
  37. package/dist/config/{configruedEnvs.test.d.ts → __tests__/configruedEnvs.test.d.ts} +0 -0
  38. package/dist/config/{configruedEnvs.test.js → __tests__/configruedEnvs.test.js} +10 -12
  39. package/dist/config/configruedEnvs.d.ts +1 -1
  40. package/dist/config/configruedEnvs.js +7 -22
  41. package/dist/config/index.js +0 -4
  42. package/dist/config/readConfig.d.ts +1 -1
  43. package/dist/config/readConfig.js +2 -13
  44. package/dist/constants.js +1 -1
  45. package/dist/context/{resolveReferences.test.d.ts → __tests__/resolveReferences.test.d.ts} +0 -0
  46. package/dist/context/__tests__/resolveReferences.test.js +336 -0
  47. package/dist/context/getEnvConfig.d.ts +2 -0
  48. package/dist/context/getEnvConfig.js +18 -0
  49. package/dist/context/getEnvType.d.ts +4 -0
  50. package/dist/context/getEnvType.js +13 -0
  51. package/dist/context/getEnvironment.d.ts +3 -0
  52. package/dist/{pipeline/createChildPipeline.test.js → context/getEnvironment.js} +42 -84
  53. package/dist/context/getEnvironmentContext.d.ts +4 -0
  54. package/dist/context/getEnvironmentContext.js +33 -0
  55. package/dist/context/getEnvironmentVariables.d.ts +10 -0
  56. package/dist/context/getEnvironmentVariables.js +260 -0
  57. package/dist/context/getLabels.d.ts +8 -0
  58. package/dist/context/getLabels.js +38 -0
  59. package/dist/context/index.d.ts +5 -6
  60. package/dist/context/index.js +158 -208
  61. package/dist/context/resolveReferences.d.ts +1 -3
  62. package/dist/context/resolveReferences.js +213 -52
  63. package/dist/defaults/index.d.ts +1 -1
  64. package/dist/deploy/base.d.ts +4 -2
  65. package/dist/deploy/base.js +38 -33
  66. package/dist/deploy/cloudRun/deployJob.d.ts +3 -0
  67. package/dist/deploy/cloudRun/deployJob.js +238 -0
  68. package/dist/deploy/cloudRun/index.d.ts +4 -0
  69. package/dist/deploy/cloudRun/index.js +112 -0
  70. package/dist/deploy/cloudRun/utils/createArgsString.d.ts +11 -0
  71. package/dist/deploy/cloudRun/utils/createArgsString.js +55 -0
  72. package/dist/deploy/cloudRun/utils/database.d.ts +4 -0
  73. package/dist/deploy/cloudRun/utils/database.js +64 -0
  74. package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.d.ts +2 -0
  75. package/dist/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.js +10 -0
  76. package/dist/deploy/cloudRun/utils/jobName.d.ts +1 -0
  77. package/dist/deploy/cloudRun/utils/jobName.js +8 -0
  78. package/dist/deploy/custom/deployJob.d.ts +2 -2
  79. package/dist/deploy/custom/deployJob.js +10 -16
  80. package/dist/deploy/custom/index.d.ts +2 -1
  81. package/dist/deploy/custom/index.js +14 -19
  82. package/dist/deploy/dockerTag/deployJob.d.ts +3 -0
  83. package/dist/deploy/dockerTag/deployJob.js +24 -0
  84. package/dist/deploy/dockerTag/index.d.ts +2 -0
  85. package/dist/deploy/dockerTag/index.js +17 -0
  86. package/dist/deploy/index.d.ts +12 -8
  87. package/dist/deploy/index.js +7 -20
  88. package/dist/deploy/kubernetes/additionalSecretKeys.d.ts +4 -0
  89. package/dist/deploy/kubernetes/additionalSecretKeys.js +24 -0
  90. package/dist/deploy/kubernetes/cloudSql/index.d.ts +13 -0
  91. package/dist/deploy/kubernetes/cloudSql/index.js +30 -0
  92. package/dist/deploy/kubernetes/deployJob.d.ts +2 -2
  93. package/dist/deploy/kubernetes/deployJob.js +17 -91
  94. package/dist/deploy/kubernetes/index.d.ts +3 -1
  95. package/dist/deploy/kubernetes/index.js +42 -4
  96. package/dist/deploy/kubernetes/kubeEnv.d.ts +9 -0
  97. package/dist/deploy/kubernetes/kubeEnv.js +72 -0
  98. package/dist/deploy/kubernetes/kubeValues.d.ts +97 -0
  99. package/dist/deploy/kubernetes/kubeValues.js +124 -0
  100. package/dist/deploy/kubernetes/mongodb.d.ts +18 -5
  101. package/dist/deploy/kubernetes/mongodb.js +96 -10
  102. package/dist/deploy/kubernetes/processSecretsAsFiles.d.ts +25 -21
  103. package/dist/deploy/kubernetes/processSecretsAsFiles.js +2 -10
  104. package/dist/deploy/types/base.d.ts +14 -0
  105. package/dist/deploy/types/base.js +3 -0
  106. package/dist/deploy/types/custom.d.ts +33 -0
  107. package/dist/deploy/types/custom.js +3 -0
  108. package/dist/deploy/types/dockerTag.d.ts +10 -0
  109. package/dist/deploy/types/dockerTag.js +3 -0
  110. package/dist/deploy/types/googleCloudRun.d.ts +121 -0
  111. package/dist/deploy/types/googleCloudRun.js +3 -0
  112. package/dist/deploy/types/index.d.ts +22 -0
  113. package/dist/deploy/types/index.js +31 -0
  114. package/dist/deploy/types/kubernetes.d.ts +276 -0
  115. package/dist/deploy/types/kubernetes.js +3 -0
  116. package/dist/deploy/utils.d.ts +2 -2
  117. package/dist/deploy/utils.js +3 -10
  118. package/dist/index.js +0 -10
  119. package/dist/pipeline/commitInfo/getBuildId.d.ts +1 -0
  120. package/dist/pipeline/commitInfo/getBuildId.js +135 -0
  121. package/dist/pipeline/commitInfo/getCommitInfo.d.ts +2 -0
  122. package/dist/pipeline/commitInfo/getCommitInfo.js +140 -0
  123. package/dist/pipeline/createAllJobs.d.ts +8 -0
  124. package/dist/{build/tests/storybook.test.js → pipeline/createAllJobs.js} +54 -104
  125. package/dist/pipeline/createChildPipeline.d.ts +2 -2
  126. package/dist/pipeline/createChildPipeline.js +40 -121
  127. package/dist/pipeline/createJobsForComponent.d.ts +3 -0
  128. package/dist/pipeline/{createJobs.js → createJobsForComponent.js} +33 -192
  129. package/dist/pipeline/gitlab/createGitlabJobs.d.ts +14 -0
  130. package/dist/pipeline/gitlab/createGitlabJobs.js +260 -0
  131. package/dist/pipeline/index.d.ts +1 -1
  132. package/dist/pipeline/index.js +1 -5
  133. package/dist/pipeline/packageManager.d.ts +1 -1
  134. package/dist/pipeline/packageManager.js +20 -173
  135. package/dist/pipeline/yarn/yarnUtils.d.ts +4 -0
  136. package/dist/pipeline/yarn/yarnUtils.js +193 -0
  137. package/dist/rules/index.d.ts +3 -1
  138. package/dist/rules/index.js +7 -6
  139. package/dist/runner/index.d.ts +2 -3
  140. package/dist/runner/index.js +0 -3
  141. package/dist/tsconfig.tsbuildinfo +1 -1
  142. package/dist/types/config.d.ts +19 -25
  143. package/dist/types/config.js +6 -16
  144. package/dist/types/context.d.ts +16 -3
  145. package/dist/types/environmentContext.d.ts +28 -0
  146. package/dist/types/environmentContext.js +3 -0
  147. package/dist/types/gitlab-types.d.ts +39 -7
  148. package/dist/types/index.js +0 -6
  149. package/dist/types/jobs.d.ts +25 -17
  150. package/dist/types/jobs.js +1 -1
  151. package/dist/types/pipeline.d.ts +1 -1
  152. package/dist/types/utils.d.ts +1 -0
  153. package/dist/types/utils.js +3 -0
  154. package/dist/utils/gitlab.d.ts +5 -0
  155. package/dist/utils/gitlab.js +48 -0
  156. package/dist/utils/index.js +5 -15
  157. package/examples/__snapshots__/cloud-run-memory-limit.ts.snap +1560 -0
  158. package/examples/__snapshots__/cloud-run-no-cpu-throttling.ts.snap +1560 -0
  159. package/examples/__snapshots__/cloud-run-non-public.ts.snap +1560 -0
  160. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.ts.snap +3092 -0
  161. package/examples/__snapshots__/cloud-run-with-sql.ts.snap +3103 -0
  162. package/examples/__snapshots__/custom-build-job.ts.snap +1162 -0
  163. package/examples/__snapshots__/custom-envs.ts.snap +261 -0
  164. package/examples/__snapshots__/kubernetes-application-customization.ts.snap +2280 -0
  165. package/examples/__snapshots__/kubernetes-with-jobs.ts.snap +4077 -0
  166. package/examples/__snapshots__/rails-k8s-with-worker.ts.snap +1911 -0
  167. package/examples/__snapshots__/wait-for-other-deploy.ts.snap +1626 -0
  168. package/examples/__utils__/helpers.ts +14 -0
  169. package/examples/cloud-run-memory-limit.ts +28 -0
  170. package/examples/cloud-run-no-cpu-throttling.ts +33 -0
  171. package/examples/cloud-run-non-public.ts +27 -0
  172. package/examples/cloud-run-with-sql-reuse-db.ts +54 -0
  173. package/examples/cloud-run-with-sql.ts +61 -0
  174. package/examples/custom-build-job.ts +28 -0
  175. package/examples/custom-envs.ts +31 -0
  176. package/examples/kubernetes-application-customization.ts +57 -0
  177. package/examples/kubernetes-with-jobs.ts +68 -0
  178. package/examples/rails-k8s-with-worker.ts +95 -0
  179. package/examples/wait-for-other-deploy.ts +36 -0
  180. package/package.json +16 -13
  181. package/scripts/bundle +2 -0
  182. package/src/build/base/createBuildJob.ts +12 -5
  183. package/src/build/base/{getBuildInfo.ts → writeBuildInfo.ts} +2 -2
  184. package/src/build/custom/buildJob.ts +64 -0
  185. package/src/build/custom/index.ts +7 -0
  186. package/src/build/docker.ts +58 -33
  187. package/src/build/index.ts +24 -5
  188. package/src/build/node/buildJob.ts +2 -2
  189. package/src/build/node/cache.ts +19 -8
  190. package/src/build/node/index.ts +1 -1
  191. package/src/build/node/meteor.ts +8 -2
  192. package/src/build/node/testJob.ts +4 -2
  193. package/src/build/node/yarn.ts +21 -10
  194. package/src/build/rails/build.ts +38 -0
  195. package/src/build/rails/index.ts +8 -0
  196. package/src/build/rails/test.ts +86 -0
  197. package/src/build/types.ts +97 -2
  198. package/src/catladder-gitlab.ts +4 -2
  199. package/src/config/{configruedEnvs.test.ts → __tests__/configruedEnvs.test.ts} +3 -3
  200. package/src/config/configruedEnvs.ts +2 -7
  201. package/src/config/readConfig.ts +1 -1
  202. package/src/context/{resolveReferences.test.ts → __tests__/resolveReferences.test.ts} +23 -38
  203. package/src/context/getEnvConfig.ts +21 -0
  204. package/src/context/getEnvType.ts +17 -0
  205. package/src/context/getEnvironment.ts +40 -0
  206. package/src/context/getEnvironmentContext.ts +57 -0
  207. package/src/context/getEnvironmentVariables.ts +155 -0
  208. package/src/context/getLabels.ts +20 -0
  209. package/src/context/index.ts +28 -193
  210. package/src/context/resolveReferences.ts +35 -31
  211. package/src/defaults/index.ts +1 -1
  212. package/src/deploy/base.ts +43 -19
  213. package/src/deploy/cloudRun/deployJob.ts +276 -0
  214. package/src/deploy/cloudRun/index.ts +95 -0
  215. package/src/deploy/cloudRun/utils/createArgsString.ts +26 -0
  216. package/src/deploy/cloudRun/utils/database.ts +55 -0
  217. package/src/deploy/cloudRun/utils/gcloudServiceAccountLoginCommands.ts +14 -0
  218. package/src/deploy/cloudRun/utils/jobName.ts +2 -0
  219. package/src/deploy/custom/deployJob.ts +13 -3
  220. package/src/deploy/custom/index.ts +9 -1
  221. package/src/deploy/dockerTag/deployJob.ts +31 -0
  222. package/src/deploy/dockerTag/index.ts +9 -0
  223. package/src/deploy/index.ts +26 -17
  224. package/src/deploy/kubernetes/additionalSecretKeys.ts +23 -0
  225. package/src/deploy/kubernetes/cloudSql/index.ts +28 -0
  226. package/src/deploy/kubernetes/deployJob.ts +21 -78
  227. package/src/deploy/kubernetes/index.ts +42 -1
  228. package/src/deploy/kubernetes/kubeEnv.ts +48 -0
  229. package/src/deploy/kubernetes/kubeValues.ts +96 -0
  230. package/src/deploy/kubernetes/mongodb.ts +104 -7
  231. package/src/deploy/kubernetes/processSecretsAsFiles.ts +1 -1
  232. package/src/deploy/types/base.ts +17 -0
  233. package/src/deploy/types/custom.ts +36 -0
  234. package/src/deploy/types/dockerTag.ts +12 -0
  235. package/src/deploy/types/googleCloudRun.ts +179 -0
  236. package/src/deploy/types/index.ts +28 -0
  237. package/src/deploy/types/kubernetes.ts +301 -0
  238. package/src/deploy/utils.ts +6 -2
  239. package/src/pipeline/commitInfo/getBuildId.ts +6 -0
  240. package/src/pipeline/commitInfo/getCommitInfo.ts +12 -0
  241. package/src/pipeline/createAllJobs.ts +38 -0
  242. package/src/pipeline/createChildPipeline.ts +9 -20
  243. package/src/pipeline/createJobsForComponent.ts +64 -0
  244. package/src/pipeline/gitlab/createGitlabJobs.ts +149 -0
  245. package/src/pipeline/index.ts +1 -1
  246. package/src/pipeline/packageManager.ts +4 -38
  247. package/src/pipeline/yarn/yarnUtils.ts +37 -0
  248. package/src/rules/index.ts +9 -6
  249. package/src/runner/index.ts +2 -1
  250. package/src/types/config.ts +26 -13
  251. package/src/types/context.ts +23 -2
  252. package/src/types/environmentContext.ts +33 -0
  253. package/src/types/gitlab-types.ts +36 -6
  254. package/src/types/jobs.ts +30 -6
  255. package/src/types/pipeline.ts +1 -1
  256. package/src/types/utils.ts +7 -0
  257. package/src/utils/gitlab.ts +23 -0
  258. package/tsconfig.json +3 -1
  259. package/dist/build/base/getBuildInfo.d.ts +0 -2
  260. package/dist/build/tests/storybook.test.d.ts +0 -1
  261. package/dist/context/resolveReferences.test.js +0 -141
  262. package/dist/deploy/kubernetes/cloudsql.d.ts +0 -6
  263. package/dist/deploy/kubernetes/cloudsql.js +0 -16
  264. package/dist/deploy/types.d.ts +0 -196
  265. package/dist/deploy/types.js +0 -16
  266. package/dist/pipeline/createChildPipeline.test.d.ts +0 -1
  267. package/dist/pipeline/createJobs.d.ts +0 -3
  268. package/dist/pipeline/gitlab/makeGitlabJob.d.ts +0 -8
  269. package/dist/pipeline/gitlab/makeGitlabJob.js +0 -45
  270. package/src/build/tests/storybook.test.ts +0 -54
  271. package/src/deploy/kubernetes/cloudsql.ts +0 -12
  272. package/src/deploy/types.ts +0 -189
  273. package/src/pipeline/createChildPipeline.test.ts +0 -49
  274. package/src/pipeline/createJobs.ts +0 -195
  275. package/src/pipeline/gitlab/makeGitlabJob.ts +0 -16
@@ -0,0 +1,3 @@
1
+ #! /usr/bin/env node
2
+
3
+ require("../dist/catladder-gitlab.js");
@@ -1,3 +1,3 @@
1
1
  #! /usr/bin/env node
2
2
 
3
- require("../dist/catladder-gitlab.js");
3
+ require("../dist/bundles/catladder-gitlab/index.js");
@@ -1,5 +1,5 @@
1
- import { Context } from "../..";
2
- import { CatladderJob } from "../../types/jobs";
1
+ import type { Context } from "../..";
2
+ import type { CatladderJob } from "../../types/jobs";
3
3
  export declare const createBuildJob: (context: Context, {
4
4
  script,
5
5
  variables,
@@ -4,35 +4,27 @@ var __assign = this && this.__assign || function () {
4
4
  __assign = Object.assign || function (t) {
5
5
  for (var s, i = 1, n = arguments.length; i < n; i++) {
6
6
  s = arguments[i];
7
-
8
7
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
9
8
  }
10
-
11
9
  return t;
12
10
  };
13
-
14
11
  return __assign.apply(this, arguments);
15
12
  };
16
-
17
13
  var __rest = this && this.__rest || function (s, e) {
18
14
  var t = {};
19
-
20
15
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
21
-
22
16
  if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
23
17
  if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
24
18
  }
25
19
  return t;
26
20
  };
27
-
28
21
  var __read = this && this.__read || function (o, n) {
29
22
  var m = typeof Symbol === "function" && o[Symbol.iterator];
30
23
  if (!m) return o;
31
24
  var i = m.call(o),
32
- r,
33
- ar = [],
34
- e;
35
-
25
+ r,
26
+ ar = [],
27
+ e;
36
28
  try {
37
29
  while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
38
30
  } catch (error) {
@@ -46,10 +38,8 @@ var __read = this && this.__read || function (o, n) {
46
38
  if (e) throw e.error;
47
39
  }
48
40
  }
49
-
50
41
  return ar;
51
42
  };
52
-
53
43
  var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
54
44
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
55
45
  if (ar || !(i in from)) {
@@ -59,29 +49,20 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
59
49
  }
60
50
  return to.concat(ar || Array.prototype.slice.call(from));
61
51
  };
62
-
63
52
  exports.__esModule = true;
64
53
  exports.createBuildJob = void 0;
65
-
66
54
  var lodash_1 = require("lodash");
67
-
55
+ var path_1 = require("path");
68
56
  var __1 = require("../..");
69
-
70
57
  var utils_1 = require("../../utils");
71
-
72
58
  var yarn_1 = require("../node/yarn");
73
-
74
59
  var constants_1 = require("./constants");
75
-
76
- var getBuildInfo_1 = require("./getBuildInfo");
77
-
60
+ var writeBuildInfo_1 = require("./writeBuildInfo");
78
61
  var createBuildJob = function (context, _a) {
79
- var _b, _c;
80
-
62
+ var _b, _c, _d, _e;
81
63
  var script = _a.script,
82
- variables = _a.variables,
83
- def = __rest(_a, ["script", "variables"]);
84
-
64
+ variables = _a.variables,
65
+ def = __rest(_a, ["script", "variables"]);
85
66
  return (0, lodash_1.merge)({
86
67
  name: constants_1.APP_BUILD_JOB_NAME,
87
68
  envMode: "jobPerEnv",
@@ -90,11 +71,15 @@ var createBuildJob = function (context, _a) {
90
71
  needs: [],
91
72
  cache: [],
92
73
  variables: __assign(__assign(__assign(__assign({}, constants_1.RUNNER_BUILD_RESOURCE_VARIABLES), variables !== null && variables !== void 0 ? variables : {}), context.environment.envVars), (_b = context.componentConfig.build.extraVars) !== null && _b !== void 0 ? _b : {}),
93
- script: __spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, getBuildInfo_1.getBuildInfo)(context)), false), __read((0, yarn_1.ensureNodeVersion)(context)), false), ["cd ".concat(context.componentConfig.dir)], false), __read((_c = (0, utils_1.ensureArray)(script)) !== null && _c !== void 0 ? _c : []), false),
74
+ script: __spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, writeBuildInfo_1.writeBuildInfo)(context)), false), __read((0, yarn_1.ensureNodeVersion)(context)), false), ["cd ".concat(context.componentConfig.dir)], false), __read((_c = (0, utils_1.ensureArray)(script)) !== null && _c !== void 0 ? _c : []), false),
94
75
  artifacts: {
95
- paths: [context.componentConfig.dir + "/__build_info.json"]
76
+ paths: [(0, path_1.join)(context.componentConfig.dir, "__build_info.json")],
77
+ reports: {
78
+ junit: (_e = (_d = context.componentConfig.build.artifactsReports) === null || _d === void 0 ? void 0 : _d.junit) === null || _e === void 0 ? void 0 : _e.map(function (p) {
79
+ return (0, path_1.join)(context.componentConfig.dir, p);
80
+ })
81
+ }
96
82
  }
97
83
  }, def);
98
84
  };
99
-
100
85
  exports.createBuildJob = createBuildJob;
@@ -0,0 +1,2 @@
1
+ import type { Context } from "../../types";
2
+ export declare const writeBuildInfo: (context: Context) => string[];
@@ -1,12 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.getBuildInfo = void 0;
5
-
6
- var getBuildInfo = function (context) {
4
+ exports.writeBuildInfo = void 0;
5
+ var writeBuildInfo = function (context) {
7
6
  var _a, _b;
8
-
9
7
  return ["echo '{\"id\":\"".concat((_a = context.commitInfo) === null || _a === void 0 ? void 0 : _a.buildId, "\",\"time\":\"").concat((_b = context.commitInfo) === null || _b === void 0 ? void 0 : _b.buildTime, "\"}' > ").concat(context.componentConfig.dir, "/__build_info.json")];
10
8
  };
11
-
12
- exports.getBuildInfo = getBuildInfo;
9
+ exports.writeBuildInfo = writeBuildInfo;
@@ -0,0 +1,3 @@
1
+ import type { Context } from "../../types/context";
2
+ import type { CatladderJob } from "../../types/jobs";
3
+ export declare const createCustomBuildJobs: (context: Context) => CatladderJob[];
@@ -0,0 +1,83 @@
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
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __read = this && this.__read || function (o, n) {
14
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
15
+ if (!m) return o;
16
+ var i = m.call(o),
17
+ r,
18
+ ar = [],
19
+ e;
20
+ try {
21
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
22
+ } catch (error) {
23
+ e = {
24
+ error: error
25
+ };
26
+ } finally {
27
+ try {
28
+ if (r && !r.done && (m = i["return"])) m.call(i);
29
+ } finally {
30
+ if (e) throw e.error;
31
+ }
32
+ }
33
+ return ar;
34
+ };
35
+ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
36
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
37
+ if (ar || !(i in from)) {
38
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
39
+ ar[i] = from[i];
40
+ }
41
+ }
42
+ return to.concat(ar || Array.prototype.slice.call(from));
43
+ };
44
+ exports.__esModule = true;
45
+ exports.createCustomBuildJobs = void 0;
46
+ var path_1 = require("path");
47
+ var utils_1 = require("../../utils");
48
+ var constants_1 = require("../base/constants");
49
+ var createBuildJob_1 = require("../base/createBuildJob");
50
+ var docker_1 = require("../docker");
51
+ var types_1 = require("../types");
52
+ var RUNNER_BUILD_VARIABLES = {
53
+ KUBERNETES_CPU_REQUEST: "0.5",
54
+ KUBERNETES_CPU_LIMIT: "2",
55
+ KUBERNETES_MEMORY_REQUEST: "2Gi",
56
+ KUBERNETES_MEMORY_LIMIT: "4Gi"
57
+ };
58
+ var createCustomBuildJobs = function (context) {
59
+ var _a, _b, _c, _d;
60
+ var buildConfig = context.componentConfig.build;
61
+ if (!(0, types_1.isOfBuildType)(buildConfig, "custom")) {
62
+ throw new Error("deploy config is not custom");
63
+ }
64
+ var appBuildJob = buildConfig.buildCommand !== null ? (0, createBuildJob_1.createBuildJob)(context, {
65
+ image: buildConfig.jobImage,
66
+ variables: __assign({}, RUNNER_BUILD_VARIABLES),
67
+ cache: buildConfig.jobCache,
68
+ services: buildConfig.jobServices,
69
+ script: __spreadArray([], __read((_a = (0, utils_1.ensureArray)(buildConfig.buildCommand)) !== null && _a !== void 0 ? _a : []), false),
70
+ artifacts: {
71
+ paths: __spreadArray([(0, path_1.join)(context.componentConfig.dir, "__build_info.json"), (0, path_1.join)(context.componentConfig.dir, "dist")], __read((_c = (_b = buildConfig.artifactsPaths) === null || _b === void 0 ? void 0 : _b.map(function (path) {
72
+ return (0, path_1.join)(context.componentConfig.dir, path);
73
+ })) !== null && _c !== void 0 ? _c : []), false)
74
+ }
75
+ }) : null;
76
+ return __spreadArray(__spreadArray([], __read(appBuildJob ? [appBuildJob] : []), false), __read((0, docker_1.requiresDockerBuild)(context) ? [(0, docker_1.createDockerBuildJobDefault)(context, {
77
+ script: [((_d = buildConfig.docker) === null || _d === void 0 ? void 0 : _d.type) === "nginx" ? "ensureNginxDockerfile" : "" // e.g. custom,
78
+ ].filter(Boolean),
79
+ variables: {},
80
+ needs: appBuildJob ? [constants_1.APP_BUILD_JOB_NAME] : []
81
+ })] : []), false);
82
+ };
83
+ exports.createCustomBuildJobs = createCustomBuildJobs;
@@ -0,0 +1,3 @@
1
+ import type { Context } from "../../types/context";
2
+ import type { CatladderJob } from "../../types/jobs";
3
+ export declare const createCustomJobs: (context: Context) => CatladderJob[];
@@ -0,0 +1,40 @@
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
+ try {
11
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
12
+ } catch (error) {
13
+ e = {
14
+ error: error
15
+ };
16
+ } finally {
17
+ try {
18
+ if (r && !r.done && (m = i["return"])) m.call(i);
19
+ } finally {
20
+ if (e) throw e.error;
21
+ }
22
+ }
23
+ return ar;
24
+ };
25
+ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
26
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
27
+ if (ar || !(i in from)) {
28
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
29
+ ar[i] = from[i];
30
+ }
31
+ }
32
+ return to.concat(ar || Array.prototype.slice.call(from));
33
+ };
34
+ exports.__esModule = true;
35
+ exports.createCustomJobs = void 0;
36
+ var buildJob_1 = require("./buildJob");
37
+ var createCustomJobs = function (context) {
38
+ return __spreadArray([], __read((0, buildJob_1.createCustomBuildJobs)(context)), false);
39
+ };
40
+ exports.createCustomJobs = createCustomJobs;
@@ -1,29 +1,53 @@
1
- import { Context } from "../types";
2
- import { CatladderJob } from "../types/jobs";
1
+ import type { Context } from "../types";
2
+ import type { CatladderJob } from "../types/jobs";
3
+ export declare const getDockerImageVariables: (context: Context) => {
4
+ DOCKER_REGISTRY: string;
5
+ DOCKER_REGISTRY_IMAGE_PATH: string;
6
+ DOCKER_CACHE_IMAGE: string;
7
+ DOCKER_IMAGE_NAME: string;
8
+ DOCKER_IMAGE: string;
9
+ DOCKER_IMAGE_TAG: string;
10
+ };
3
11
  export declare const requiresDockerBuild: (context: Context) => boolean;
4
12
  export declare const getDockerBuildVariables: (context: Context) => {
13
+ DOCKER_REGISTRY: string;
14
+ DOCKER_REGISTRY_IMAGE_PATH: string;
15
+ DOCKER_CACHE_IMAGE: string;
16
+ DOCKER_IMAGE_NAME: string;
17
+ DOCKER_IMAGE: string;
18
+ DOCKER_IMAGE_TAG: string;
19
+ DOCKER_HOST: string;
20
+ DOCKER_TLS_CERTDIR: string;
21
+ DOCKER_DRIVER: string;
5
22
  DOCKER_BUILDKIT: string;
6
23
  DOCKERFILE_ADDITIONS: string | undefined;
7
24
  DOCKERFILE_ADDITIONS_END: string | undefined;
8
25
  APP_DIR: string;
9
- DOCKER_HOST: string;
10
- DOCKER_TLS_CERTDIR: string;
11
26
  DOCKER_DIR: string;
12
- IMAGE_TAG: string;
13
- DOCKER_DRIVER: string;
14
- IMAGE_NAME: string;
15
- CACHE_IMAGE: string;
16
27
  KUBERNETES_CPU_REQUEST: string;
17
28
  KUBERNETES_CPU_LIMIT: string;
18
29
  KUBERNETES_MEMORY_REQUEST: string;
19
30
  KUBERNETES_MEMORY_LIMIT: string;
20
31
  };
21
32
  export declare const DOCKER_BUILD_JOB_NAME = "\uD83D\uDD28 docker";
33
+ export declare const getDockerJobBaseProps: (context: Context) => {
34
+ image: string;
35
+ services: {
36
+ name: string;
37
+ command: string[];
38
+ }[];
39
+ variables: {
40
+ DOCKER_HOST: string;
41
+ DOCKER_TLS_CERTDIR: string;
42
+ DOCKER_DRIVER: string;
43
+ DOCKER_BUILDKIT: string;
44
+ };
45
+ };
22
46
  export declare const createDockerBuildJobBase: (context: Context, {
23
47
  script,
24
- variables,
25
48
  ...def
26
49
  }: Partial<CatladderJob>) => CatladderJob;
50
+ export declare const gitlabDockerLogin = "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY";
27
51
  export declare const createDockerBuildJobDefault: (context: Context, {
28
52
  script,
29
53
  ...def
@@ -4,35 +4,27 @@ var __assign = this && this.__assign || function () {
4
4
  __assign = Object.assign || function (t) {
5
5
  for (var s, i = 1, n = arguments.length; i < n; i++) {
6
6
  s = arguments[i];
7
-
8
7
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
9
8
  }
10
-
11
9
  return t;
12
10
  };
13
-
14
11
  return __assign.apply(this, arguments);
15
12
  };
16
-
17
13
  var __rest = this && this.__rest || function (s, e) {
18
14
  var t = {};
19
-
20
15
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
21
-
22
16
  if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
23
17
  if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
24
18
  }
25
19
  return t;
26
20
  };
27
-
28
21
  var __read = this && this.__read || function (o, n) {
29
22
  var m = typeof Symbol === "function" && o[Symbol.iterator];
30
23
  if (!m) return o;
31
24
  var i = m.call(o),
32
- r,
33
- ar = [],
34
- e;
35
-
25
+ r,
26
+ ar = [],
27
+ e;
36
28
  try {
37
29
  while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
38
30
  } catch (error) {
@@ -46,10 +38,8 @@ var __read = this && this.__read || function (o, n) {
46
38
  if (e) throw e.error;
47
39
  }
48
40
  }
49
-
50
41
  return ar;
51
42
  };
52
-
53
43
  var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
54
44
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
55
45
  if (ar || !(i in from)) {
@@ -59,88 +49,95 @@ var __spreadArray = this && this.__spreadArray || function (to, from, pack) {
59
49
  }
60
50
  return to.concat(ar || Array.prototype.slice.call(from));
61
51
  };
62
-
63
52
  exports.__esModule = true;
64
- exports.createDockerBuildJobDefault = exports.createDockerBuildJobBase = exports.DOCKER_BUILD_JOB_NAME = exports.getDockerBuildVariables = exports.requiresDockerBuild = void 0;
65
-
53
+ exports.createDockerBuildJobDefault = exports.gitlabDockerLogin = exports.createDockerBuildJobBase = exports.getDockerJobBaseProps = exports.DOCKER_BUILD_JOB_NAME = exports.getDockerBuildVariables = exports.requiresDockerBuild = exports.getDockerImageVariables = void 0;
66
54
  var lodash_1 = require("lodash");
67
-
68
55
  var deploy_1 = require("../deploy");
69
-
70
56
  var runner_1 = require("../runner");
71
-
72
57
  var DOCKER_RUNNER_BUILD_VARIABLES = {
73
58
  KUBERNETES_CPU_REQUEST: "0.5",
74
59
  KUBERNETES_CPU_LIMIT: "1",
75
60
  KUBERNETES_MEMORY_REQUEST: "1Gi",
76
61
  KUBERNETES_MEMORY_LIMIT: "2Gi"
77
62
  };
78
-
63
+ var getDockerImageVariables = function (context) {
64
+ return {
65
+ DOCKER_REGISTRY: "$CI_REGISTRY",
66
+ DOCKER_REGISTRY_IMAGE_PATH: "$CI_REGISTRY_IMAGE",
67
+ DOCKER_CACHE_IMAGE: "$DOCKER_REGISTRY_IMAGE_PATH/caches/" + context.componentName,
68
+ DOCKER_IMAGE_NAME: context.environment.shortName + "/" + context.componentName,
69
+ DOCKER_IMAGE: "$DOCKER_REGISTRY_IMAGE_PATH/$DOCKER_IMAGE_NAME",
70
+ DOCKER_IMAGE_TAG: "$CI_COMMIT_SHA"
71
+ };
72
+ };
73
+ exports.getDockerImageVariables = getDockerImageVariables;
79
74
  var requiresDockerBuild = function (context) {
80
75
  var deployConfig = context.componentConfig.deploy;
81
-
82
76
  if ((0, deploy_1.isOfDeployType)(deployConfig, "kubernetes")) {
83
77
  return true;
84
78
  }
85
-
79
+ if ((0, deploy_1.isOfDeployType)(deployConfig, "google-cloudrun")) {
80
+ return true;
81
+ }
86
82
  if ((0, deploy_1.isOfDeployType)(deployConfig, "custom") && deployConfig.requiresDocker) {
87
83
  return true;
88
84
  }
89
-
85
+ if ((0, deploy_1.isOfDeployType)(deployConfig, "dockerTag")) {
86
+ return true;
87
+ }
90
88
  return false;
91
89
  };
92
-
93
90
  exports.requiresDockerBuild = requiresDockerBuild;
94
-
91
+ var getDockerBaseVariables = function () {
92
+ return {
93
+ DOCKER_HOST: "tcp://0.0.0.0:2375",
94
+ DOCKER_TLS_CERTDIR: "",
95
+ DOCKER_DRIVER: "overlay2",
96
+ DOCKER_BUILDKIT: "1"
97
+ };
98
+ };
95
99
  var getDockerBuildVariables = function (context) {
96
100
  var _a, _b, _c, _d;
97
-
98
- return __assign(__assign({}, DOCKER_RUNNER_BUILD_VARIABLES), {
99
- DOCKER_BUILDKIT: "1",
101
+ return __assign(__assign(__assign(__assign({}, DOCKER_RUNNER_BUILD_VARIABLES), {
100
102
  DOCKERFILE_ADDITIONS: (_b = (_a = context.componentConfig.build.docker) === null || _a === void 0 ? void 0 : _a.additionsBegin) === null || _b === void 0 ? void 0 : _b.join("\n"),
101
103
  DOCKERFILE_ADDITIONS_END: (_d = (_c = context.componentConfig.build.docker) === null || _c === void 0 ? void 0 : _c.additionsEnd) === null || _d === void 0 ? void 0 : _d.join("\n"),
102
104
  APP_DIR: context.componentConfig.dir,
103
- DOCKER_HOST: "tcp://0.0.0.0:2375",
104
- DOCKER_TLS_CERTDIR: "",
105
- DOCKER_DIR: ".",
106
- IMAGE_TAG: "$CI_COMMIT_SHA",
107
- DOCKER_DRIVER: "overlay2",
108
- IMAGE_NAME: "$CI_REGISTRY_IMAGE/" + context.environment.shortName + "/" + context.componentName,
109
- CACHE_IMAGE: "$CI_REGISTRY_IMAGE/caches/" + context.componentName
110
- });
105
+ DOCKER_DIR: "."
106
+ }), getDockerBaseVariables()), (0, exports.getDockerImageVariables)(context));
111
107
  };
112
-
113
108
  exports.getDockerBuildVariables = getDockerBuildVariables;
114
109
  exports.DOCKER_BUILD_JOB_NAME = "🔨 docker";
115
-
116
- var createDockerBuildJobBase = function (context, _a) {
117
- var script = _a.script,
118
- variables = _a.variables,
119
- def = __rest(_a, ["script", "variables"]);
120
-
121
- return (0, lodash_1.merge)({
122
- name: exports.DOCKER_BUILD_JOB_NAME,
123
- envMode: "jobPerEnv",
124
- stage: "build",
110
+ var getDockerJobBaseProps = function (context) {
111
+ return {
125
112
  image: (0, runner_1.getRunnerImage)("docker-build"),
126
113
  services: [{
127
114
  name: "docker:20-dind",
128
115
  command: ["--tls=false"]
129
116
  }],
130
- variables: __assign(__assign({}, (0, exports.getDockerBuildVariables)(context)), variables !== null && variables !== void 0 ? variables : {}),
117
+ variables: getDockerBaseVariables()
118
+ };
119
+ };
120
+ exports.getDockerJobBaseProps = getDockerJobBaseProps;
121
+ var createDockerBuildJobBase = function (context, _a) {
122
+ var script = _a.script,
123
+ def = __rest(_a, ["script"]);
124
+ return (0, lodash_1.merge)(__assign(__assign({
125
+ name: exports.DOCKER_BUILD_JOB_NAME,
126
+ envMode: "jobPerEnv",
127
+ stage: "build"
128
+ }, (0, exports.getDockerJobBaseProps)(context)), {
131
129
  script: script || []
130
+ }), {
131
+ variables: (0, exports.getDockerBuildVariables)(context)
132
132
  }, def);
133
133
  };
134
-
135
134
  exports.createDockerBuildJobBase = createDockerBuildJobBase;
136
-
135
+ exports.gitlabDockerLogin = "docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY";
137
136
  var createDockerBuildJobDefault = function (context, _a) {
138
137
  var script = _a.script,
139
- def = __rest(_a, ["script"]);
140
-
138
+ def = __rest(_a, ["script"]);
141
139
  return (0, exports.createDockerBuildJobBase)(context, __assign({
142
- script: __spreadArray(__spreadArray([], __read(script || []), false), ["docker login --username gitlab-ci-token --password $CI_JOB_TOKEN $CI_REGISTRY", "docker build --network host --cache-from $CACHE_IMAGE --tag $IMAGE_NAME:$IMAGE_TAG -f $APP_DIR/Dockerfile . --build-arg BUILDKIT_INLINE_CACHE=1", "docker push $IMAGE_NAME:$IMAGE_TAG", "docker tag $IMAGE_NAME:$IMAGE_TAG $CACHE_IMAGE", "docker push $CACHE_IMAGE"], false)
140
+ script: __spreadArray(__spreadArray([], __read(script || []), false), [exports.gitlabDockerLogin, "docker version", "docker build --network host --cache-from $DOCKER_CACHE_IMAGE --tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG -f $APP_DIR/Dockerfile . --build-arg BUILDKIT_INLINE_CACHE=1", "docker push $DOCKER_IMAGE:$DOCKER_IMAGE_TAG", "docker tag $DOCKER_IMAGE:$DOCKER_IMAGE_TAG $DOCKER_CACHE_IMAGE", "docker push $DOCKER_CACHE_IMAGE"], false)
143
141
  }, def));
144
142
  };
145
-
146
143
  exports.createDockerBuildJobDefault = createDockerBuildJobDefault;
@@ -1,11 +1,12 @@
1
- import { Context } from "../types/context";
2
- import { CatladderJob } from "../types/jobs";
3
- import { BuildConfig } from "./types";
1
+ import type { Context } from "../types/context";
2
+ import type { EnvironmentContext } from "../types/environmentContext";
3
+ import type { CatladderJob } from "../types/jobs";
4
+ import type { BuildConfig, BuildConfigType } from "./types";
4
5
  export * from "./types";
5
6
  export * from "./node";
6
- export declare type BuildTypes = { [type in BuildConfig["type"]]: {
7
+ export declare type BuildTypes = { [type in BuildConfigType]: {
7
8
  jobs: (context: Context) => CatladderJob[];
8
- defaults: () => Partial<Extract<BuildConfig, {
9
+ defaults: (envContext: EnvironmentContext<BuildConfigType, any>) => Partial<Extract<BuildConfig, {
9
10
  type: type;
10
11
  }>>;
11
12
  } };
@@ -12,20 +12,16 @@ var __createBinding = this && this.__createBinding || (Object.create ? function
12
12
  if (k2 === undefined) k2 = k;
13
13
  o[k2] = m[k];
14
14
  });
15
-
16
15
  var __exportStar = this && this.__exportStar || function (m, exports) {
17
16
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
17
  };
19
-
20
18
  exports.__esModule = true;
21
19
  exports.BUILD_TYPES = void 0;
22
-
20
+ var custom_1 = require("./custom");
23
21
  var node_1 = require("./node");
24
-
22
+ var rails_1 = require("./rails");
25
23
  __exportStar(require("./types"), exports);
26
-
27
24
  __exportStar(require("./node"), exports);
28
-
29
25
  exports.BUILD_TYPES = {
30
26
  node: {
31
27
  jobs: node_1.createNodeJobs,
@@ -59,5 +55,23 @@ exports.BUILD_TYPES = {
59
55
  startCommand: "node main.js"
60
56
  };
61
57
  }
58
+ },
59
+ custom: {
60
+ jobs: custom_1.createCustomJobs,
61
+ defaults: function () {
62
+ return {};
63
+ }
64
+ },
65
+ rails: {
66
+ jobs: rails_1.createRailsJobs,
67
+ defaults: function () {
68
+ return {
69
+ startCommand: "/cnb/process/web",
70
+ cnbBuilder: {
71
+ image: "heroku/buildpacks:20",
72
+ packVersion: "0.28.0"
73
+ }
74
+ };
75
+ }
62
76
  }
63
77
  };
@@ -1,3 +1,3 @@
1
- import { Context } from "../../types/context";
2
- import { CatladderJob } from "../../types/jobs";
1
+ import type { Context } from "../../types/context";
2
+ import type { CatladderJob } from "../../types/jobs";
3
3
  export declare const createNodeBuildJobs: (context: Context) => CatladderJob[];