@catladder/pipeline 0.0.0-main-239cb0b8 → 0.0.0-main-47dcb7bc

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 (67) hide show
  1. package/dist/build/base/constants.d.ts +7 -0
  2. package/dist/build/base/constants.js +11 -0
  3. package/dist/build/base/createBuildJob.d.ts +5 -0
  4. package/dist/build/base/createBuildJob.js +99 -0
  5. package/dist/build/index.d.ts +1 -0
  6. package/dist/build/index.js +10 -0
  7. package/dist/build/node/buildJob.d.ts +3 -0
  8. package/dist/build/node/buildJob.js +97 -0
  9. package/dist/build/node/cache.d.ts +4 -0
  10. package/dist/build/node/cache.js +67 -0
  11. package/dist/build/node/constants.d.ts +6 -0
  12. package/dist/build/node/constants.js +10 -0
  13. package/dist/build/node/index.d.ts +5 -0
  14. package/dist/build/node/index.js +63 -0
  15. package/dist/build/node/meteor.d.ts +3 -0
  16. package/dist/build/node/meteor.js +103 -0
  17. package/dist/build/node/testJob.d.ts +3 -0
  18. package/dist/build/node/testJob.js +112 -0
  19. package/dist/build/node/yarn.d.ts +2 -0
  20. package/dist/build/node/yarn.js +12 -0
  21. package/dist/build/types.d.ts +10 -5
  22. package/dist/build/types.js +8 -2
  23. package/dist/constants.js +1 -1
  24. package/dist/defaults/index.d.ts +2 -0
  25. package/dist/defaults/index.js +8 -0
  26. package/dist/deploy/kubernetes/cloudsql.d.ts +6 -0
  27. package/dist/deploy/kubernetes/cloudsql.js +16 -0
  28. package/dist/deploy/kubernetes/deployJob.d.ts +3 -0
  29. package/dist/deploy/{kubernetes.js → kubernetes/deployJob.js} +13 -7
  30. package/dist/deploy/kubernetes/index.d.ts +1 -0
  31. package/dist/deploy/kubernetes/index.js +22 -0
  32. package/dist/deploy/kubernetes/mongodb.d.ts +15 -0
  33. package/dist/deploy/kubernetes/mongodb.js +23 -0
  34. package/dist/deploy/types.d.ts +8 -2
  35. package/dist/deploy/types.js +8 -2
  36. package/dist/index.d.ts +0 -1
  37. package/dist/index.js +0 -2
  38. package/dist/pipeline/createJobs.js +1 -1
  39. package/dist/pipeline/yarnInfo.js +0 -1
  40. package/dist/tsconfig.tsbuildinfo +1 -1
  41. package/dist/types/context.d.ts +1 -1
  42. package/package.json +1 -1
  43. package/src/build/base/constants.ts +7 -0
  44. package/src/build/base/createBuildJob.ts +46 -0
  45. package/src/build/index.ts +9 -1
  46. package/src/build/node/buildJob.ts +54 -0
  47. package/src/build/node/cache.ts +36 -0
  48. package/src/build/node/constants.ts +6 -0
  49. package/src/build/node/index.ts +17 -0
  50. package/src/build/node/meteor.ts +75 -0
  51. package/src/build/node/testJob.ts +80 -0
  52. package/src/build/node/yarn.ts +8 -0
  53. package/src/build/types.ts +10 -5
  54. package/src/defaults/index.ts +6 -0
  55. package/src/deploy/kubernetes/cloudsql.ts +13 -0
  56. package/src/deploy/{kubernetes.ts → kubernetes/deployJob.ts} +15 -8
  57. package/src/deploy/kubernetes/index.ts +1 -0
  58. package/src/deploy/kubernetes/mongodb.ts +20 -0
  59. package/src/deploy/types.ts +7 -4
  60. package/src/index.ts +0 -1
  61. package/src/pipeline/createJobs.ts +1 -1
  62. package/src/pipeline/yarnInfo.ts +0 -2
  63. package/src/types/context.ts +1 -1
  64. package/dist/build/node.d.ts +0 -5
  65. package/dist/build/node.js +0 -201
  66. package/dist/deploy/kubernetes.d.ts +0 -3
  67. package/src/build/node.ts +0 -208
@@ -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;
@@ -2,6 +2,7 @@ import { Context } from "../types/context";
2
2
  import { GitlabJobs } from "../types/gitlab-types";
3
3
  import { BuildConfig } from "./types";
4
4
  export * from "./types";
5
+ export * from "./node";
5
6
  export declare type BuildTypes = { [type in BuildConfig["type"]]: {
6
7
  jobs: (context: Context) => GitlabJobs;
7
8
  defaults: () => Partial<Extract<BuildConfig, {
@@ -24,6 +24,8 @@ var node_1 = require("./node");
24
24
 
25
25
  __exportStar(require("./types"), exports);
26
26
 
27
+ __exportStar(require("./node"), exports);
28
+
27
29
  exports.BUILD_TYPES = {
28
30
  node: {
29
31
  jobs: node_1.createNodeJobs,
@@ -49,5 +51,13 @@ exports.BUILD_TYPES = {
49
51
  buildCommand: ["yarn storybook", "mv ./storybook-out /dist"]
50
52
  };
51
53
  }
54
+ },
55
+ meteor: {
56
+ jobs: node_1.createMeteorJobs,
57
+ defaults: function () {
58
+ return {
59
+ startCommand: "node main.js"
60
+ };
61
+ }
52
62
  }
53
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;
@@ -0,0 +1,103 @@
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.createMeteorBuildJobs = void 0;
54
+
55
+ var path_1 = require("path");
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 getMeteorCache = function (context) {
70
+ return [{
71
+ key: context.componentName + "meteor-build-cache",
72
+ policy: "pull-push",
73
+ paths: [(0, path_1.join)(context.componentConfig.dir, ".meteor/local/resolver-result-cache.json"), (0, path_1.join)(context.componentConfig.dir, ".meteor/local/plugin-cache"), (0, path_1.join)(context.componentConfig.dir, ".meteor/local/isopacks"), (0, path_1.join)(context.componentConfig.dir, ".meteor/local/bundler-cache/scanner")]
74
+ }];
75
+ };
76
+
77
+ var createMeteorBuildJobs = function (context) {
78
+ var buildConfig = context.componentConfig.build;
79
+
80
+ if (!(0, types_1.isOfBuildType)(buildConfig, "meteor")) {
81
+ throw new Error("deploy config is not meteor");
82
+ }
83
+
84
+ var yarnInstall = (0, yarn_1.getYarnInstall)(context);
85
+ var appBuildJob = buildConfig.buildCommand !== null ? (0, createBuildJob_1.createBuildJob)(context, {
86
+ cache: __spreadArray(__spreadArray([], __read((0, cache_1.getNodeCache)(context)), false), __read(getMeteorCache(context)), false),
87
+ script: __spreadArray(__spreadArray([], __read(yarnInstall), false), ['echo "add healthcheck package"', "meteor add panter:healthroute --allow-superuser", "meteor add qualia:prod-shell --allow-superuser", 'TOOL_NODE_FLAGS="--max_old_space_size=3584 --min_semi_space_size=8 --max_semi_space_size=256 --optimize_for_size" meteor build ./dist --architecture os.linux.x86_64 --allow-superuser --server-only --directory', "cp ./__build_info.json ./dist/bundle/programs/server"], false),
88
+ artifacts: {
89
+ paths: [context.componentConfig.dir + "/__build_info.json", context.componentConfig.dir + "/dist"]
90
+ }
91
+ }) : null;
92
+ return __spreadArray(__spreadArray([], __read(appBuildJob ? [appBuildJob] : []), false), [{
93
+ name: docker_1.DOCKER_BUILD_JOB_NAME,
94
+ envMode: "jobPerEnv",
95
+ job: __assign(__assign({}, (0, docker_1.createDockerBuildJob)(context, {
96
+ script: ["ensureMeteorDockerfile"]
97
+ })), {
98
+ needs: appBuildJob ? [constants_1.APP_BUILD_JOB_NAME] : []
99
+ })
100
+ }], false);
101
+ };
102
+
103
+ exports.createMeteorBuildJobs = createMeteorBuildJobs;
@@ -0,0 +1,3 @@
1
+ import { Context } from "../../types/context";
2
+ import { GitlabJobs } from "../../types/gitlab-types";
3
+ export declare const createNodeTestJobs: (context: Context) => GitlabJobs;
@@ -0,0 +1,112 @@
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.createNodeTestJobs = void 0;
54
+
55
+ var defaults_1 = require("../../defaults");
56
+
57
+ var utils_1 = require("../../utils");
58
+
59
+ var cache_1 = require("./cache");
60
+
61
+ var constants_1 = require("./constants");
62
+
63
+ var yarn_1 = require("./yarn");
64
+
65
+ var createNodeTestJobs = function (context) {
66
+ var _a, _b, _c, _d, _e, _f, _g, _h; // don't run tests after release
67
+
68
+
69
+ if (((_a = context.commitInfo) === null || _a === void 0 ? void 0 : _a.trigger) === "taggedRelease") {
70
+ return [];
71
+ }
72
+
73
+ var buildConfig = context.componentConfig.build;
74
+ var base = {
75
+ variables: __assign(__assign({
76
+ APP_PATH: context.componentConfig.dir
77
+ }, constants_1.NODE_RUNNER_BUILD_VARIABLES), (_b = buildConfig.extraVars) !== null && _b !== void 0 ? _b : {}),
78
+ stage: "test",
79
+ interruptible: true,
80
+ needs: [],
81
+ retry: defaults_1.BASE_RETRY
82
+ };
83
+ var yarnInstall = (0, yarn_1.getYarnInstall)(context);
84
+ var auditJob = buildConfig.audit !== false ? {
85
+ name: "🛡 audit",
86
+ envMode: "none",
87
+ job: __assign(__assign({}, base), {
88
+ cache: undefined,
89
+ script: __spreadArray(["cd ".concat(context.componentConfig.dir)], __read((_d = (0, utils_1.ensureArray)((_c = buildConfig.audit) === null || _c === void 0 ? void 0 : _c.command)) !== null && _d !== void 0 ? _d : ["yarn audit"]), false),
90
+ allow_failure: true
91
+ })
92
+ } : null;
93
+ var lintJob = buildConfig.lint !== false ? {
94
+ name: "👮 lint",
95
+ envMode: "none",
96
+ job: __assign(__assign({}, base), {
97
+ cache: (0, cache_1.getNodeCache)(context),
98
+ script: __spreadArray(__spreadArray(["cd ".concat(context.componentConfig.dir)], __read(yarnInstall), false), __read((_f = (0, utils_1.ensureArray)((_e = buildConfig.lint) === null || _e === void 0 ? void 0 : _e.command)) !== null && _f !== void 0 ? _f : ["yarn lint"]), false)
99
+ })
100
+ } : null;
101
+ var testJob = buildConfig.test !== false ? {
102
+ name: "🧪 test",
103
+ envMode: "none",
104
+ job: __assign(__assign({}, base), {
105
+ cache: (0, cache_1.getNodeCache)(context),
106
+ script: __spreadArray(__spreadArray(["cd ".concat(context.componentConfig.dir)], __read(yarnInstall), false), __read((_h = (0, utils_1.ensureArray)((_g = buildConfig.test) === null || _g === void 0 ? void 0 : _g.command)) !== null && _h !== void 0 ? _h : ["yarn test"]), false)
107
+ })
108
+ } : null;
109
+ return [auditJob, lintJob, testJob].filter(utils_1.notNil);
110
+ };
111
+
112
+ exports.createNodeTestJobs = createNodeTestJobs;
@@ -0,0 +1,2 @@
1
+ import { Context } from "../../types";
2
+ export declare const getYarnInstall: (context: Context) => string[];
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.getYarnInstall = void 0;
5
+
6
+ var getYarnInstall = function (context) {
7
+ var _a;
8
+
9
+ return ["if [ -f ./.nvmrc ]; then source /root/.nvm/nvm.sh && nvm install <<< .nvmrc; fi", ((_a = context.yarnInfo) === null || _a === void 0 ? void 0 : _a.isClassic) ? "yarn install --frozen-lockfile" : "yarn install --immutable"];
10
+ };
11
+
12
+ exports.getYarnInstall = getYarnInstall;