@catladder/pipeline 3.39.0 โ†’ 3.40.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 (64) hide show
  1. package/dist/build/custom/testJob.js +13 -11
  2. package/dist/build/node/testJob.js +14 -12
  3. package/dist/build/rails/testJob.js +9 -7
  4. package/dist/build/types.d.ts +5 -0
  5. package/dist/constants.js +1 -1
  6. package/dist/deploy/cloudRun/createJobs/execute/onDeploy.js +13 -22
  7. package/dist/tsconfig.tsbuildinfo +1 -1
  8. package/examples/__snapshots__/automatic-releases.test.ts.snap +2 -2
  9. package/examples/__snapshots__/cloud-run-execute-script-on-deploy.test.ts.snap +2 -2
  10. package/examples/__snapshots__/cloud-run-health-check-defaults.test.ts.snap +2 -2
  11. package/examples/__snapshots__/cloud-run-health-check-only-startup.test.ts.snap +2 -2
  12. package/examples/__snapshots__/cloud-run-health-check.test.ts.snap +2 -2
  13. package/examples/__snapshots__/cloud-run-http2.test.ts.snap +2 -2
  14. package/examples/__snapshots__/cloud-run-memory-limit.test.ts.snap +2 -2
  15. package/examples/__snapshots__/cloud-run-meteor-with-worker.test.ts.snap +2 -2
  16. package/examples/__snapshots__/cloud-run-nextjs.test.ts.snap +2 -2
  17. package/examples/__snapshots__/cloud-run-no-cpu-throttling.test.ts.snap +2 -2
  18. package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +2 -2
  19. package/examples/__snapshots__/cloud-run-non-public.test.ts.snap +2 -2
  20. package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +2 -2
  21. package/examples/__snapshots__/cloud-run-service-custom-vpc-connector.test.ts.snap +2 -2
  22. package/examples/__snapshots__/cloud-run-service-custom-vpc.test.ts.snap +2 -2
  23. package/examples/__snapshots__/cloud-run-service-gen2.test.ts.snap +2 -2
  24. package/examples/__snapshots__/cloud-run-service-increase-timout.test.ts.snap +2 -2
  25. package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +2 -2
  26. package/examples/__snapshots__/cloud-run-session-affinity.test.ts.snap +2 -2
  27. package/examples/__snapshots__/cloud-run-with-agents.test.ts.snap +2 -2
  28. package/examples/__snapshots__/cloud-run-with-gpu.test.ts.snap +2 -2
  29. package/examples/__snapshots__/cloud-run-with-ngnix.test.ts.snap +2 -2
  30. package/examples/__snapshots__/cloud-run-with-sql-legacy-jobs.test.ts.snap +2 -2
  31. package/examples/__snapshots__/cloud-run-with-sql-multiple-dbs.test.ts.snap +6 -6
  32. package/examples/__snapshots__/cloud-run-with-sql-reuse-db.test.ts.snap +4 -4
  33. package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +2 -2
  34. package/examples/__snapshots__/cloud-run-with-worker.test.ts.snap +2 -2
  35. package/examples/__snapshots__/custom-deploy.test.ts.snap +2 -2
  36. package/examples/__snapshots__/custom-docker-file.test.ts.snap +2 -2
  37. package/examples/__snapshots__/custom-envs.test.ts.snap +4 -4
  38. package/examples/__snapshots__/custom-verify-job.test.ts.snap +2 -2
  39. package/examples/__snapshots__/git-submodule.test.ts.snap +2 -2
  40. package/examples/__snapshots__/kubernetes-application-customization.test.ts.snap +2 -2
  41. package/examples/__snapshots__/kubernetes-with-cloud-sql.test.ts.snap +2 -2
  42. package/examples/__snapshots__/kubernetes-with-jobs.test.ts.snap +4 -4
  43. package/examples/__snapshots__/kubernetes-with-mongodb.test.ts.snap +2 -2
  44. package/examples/__snapshots__/local-dot-env.test.ts.snap +2 -2
  45. package/examples/__snapshots__/meteor-kubernetes.test.ts.snap +2 -2
  46. package/examples/__snapshots__/modify-generated-files.test.ts.snap +2 -2
  47. package/examples/__snapshots__/modify-generated-yaml.test.ts.snap +2 -2
  48. package/examples/__snapshots__/multiline-var.test.ts.snap +6 -6
  49. package/examples/__snapshots__/native-app.test.ts.snap +4 -4
  50. package/examples/__snapshots__/node-build-with-custom-image.test.ts.snap +2 -2
  51. package/examples/__snapshots__/node-build-with-docker-additions.test.ts.snap +2 -2
  52. package/examples/__snapshots__/override-secrets.test.ts.snap +2 -2
  53. package/examples/__snapshots__/referencing-other-vars.test.ts.snap +6 -6
  54. package/examples/__snapshots__/wait-for-other-deploy.test.ts.snap +4 -4
  55. package/examples/__snapshots__/workspace-api-www-turbo-cache.test.ts.snap +2 -2
  56. package/examples/__snapshots__/workspace-api-www.test.ts.snap +2 -2
  57. package/examples/cloud-run-post-stop-job.ts +1 -1
  58. package/package.json +1 -1
  59. package/src/build/custom/__tests__/testJob.test.ts +70 -0
  60. package/src/build/custom/testJob.ts +3 -1
  61. package/src/build/node/testJob.ts +5 -3
  62. package/src/build/rails/testJob.ts +3 -1
  63. package/src/build/types.ts +6 -0
  64. package/src/deploy/cloudRun/createJobs/execute/onDeploy.ts +16 -25
@@ -55,7 +55,7 @@ var RUNNER_CUSTOM_TEST_VARIABLES = {
55
55
  KUBERNETES_MEMORY_LIMIT: "4Gi"
56
56
  };
57
57
  var createCustomTestJobs = function (context) {
58
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
58
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
59
59
  // don't run tests after release
60
60
  // TODO: this will be replaced by using rules
61
61
  if (context.trigger === "taggedRelease") {
@@ -81,22 +81,24 @@ var createCustomTestJobs = function (context) {
81
81
  image: (_d = (_c = buildConfig.audit) === null || _c === void 0 ? void 0 : _c.jobImage) !== null && _d !== void 0 ? _d : buildConfig.jobImage,
82
82
  cache: undefined,
83
83
  script: __spreadArray([], __read((0, utils_1.ensureArray)((_e = buildConfig.audit) === null || _e === void 0 ? void 0 : _e.command)), false),
84
- allow_failure: true
85
- }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.build.dir, (_f = buildConfig.audit) === null || _f === void 0 ? void 0 : _f.artifactsReports, (_g = buildConfig.audit) === null || _g === void 0 ? void 0 : _g.artifacts)) : null;
84
+ allow_failure: (_g = (_f = buildConfig.audit) === null || _f === void 0 ? void 0 : _f.allowFailure) !== null && _g !== void 0 ? _g : true
85
+ }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.build.dir, (_h = buildConfig.audit) === null || _h === void 0 ? void 0 : _h.artifactsReports, (_j = buildConfig.audit) === null || _j === void 0 ? void 0 : _j.artifacts)) : null;
86
86
  var lintJob = buildConfig.lint ? __assign(__assign(__assign({
87
87
  name: "๐Ÿ‘ฎ lint"
88
88
  }, base), {
89
- runnerVariables: __assign(__assign({}, RUNNER_CUSTOM_TEST_VARIABLES), (_j = (_h = buildConfig.lint) === null || _h === void 0 ? void 0 : _h.runnerVariables) !== null && _j !== void 0 ? _j : {}),
90
- image: (_l = (_k = buildConfig.lint) === null || _k === void 0 ? void 0 : _k.jobImage) !== null && _l !== void 0 ? _l : buildConfig.jobImage,
91
- script: __spreadArray([], __read((0, utils_1.ensureArray)((_m = buildConfig.lint) === null || _m === void 0 ? void 0 : _m.command)), false)
92
- }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.build.dir, (_o = buildConfig.lint) === null || _o === void 0 ? void 0 : _o.artifactsReports, (_p = buildConfig.lint) === null || _p === void 0 ? void 0 : _p.artifacts)) : null;
89
+ runnerVariables: __assign(__assign({}, RUNNER_CUSTOM_TEST_VARIABLES), (_l = (_k = buildConfig.lint) === null || _k === void 0 ? void 0 : _k.runnerVariables) !== null && _l !== void 0 ? _l : {}),
90
+ image: (_o = (_m = buildConfig.lint) === null || _m === void 0 ? void 0 : _m.jobImage) !== null && _o !== void 0 ? _o : buildConfig.jobImage,
91
+ script: __spreadArray([], __read((0, utils_1.ensureArray)((_p = buildConfig.lint) === null || _p === void 0 ? void 0 : _p.command)), false),
92
+ allow_failure: (_q = buildConfig.lint) === null || _q === void 0 ? void 0 : _q.allowFailure
93
+ }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.build.dir, (_r = buildConfig.lint) === null || _r === void 0 ? void 0 : _r.artifactsReports, (_s = buildConfig.lint) === null || _s === void 0 ? void 0 : _s.artifacts)) : null;
93
94
  var testJob = buildConfig.test ? __assign(__assign(__assign({
94
95
  name: "๐Ÿงช test"
95
96
  }, base), {
96
- runnerVariables: __assign(__assign({}, RUNNER_CUSTOM_TEST_VARIABLES), (_r = (_q = buildConfig.test) === null || _q === void 0 ? void 0 : _q.runnerVariables) !== null && _r !== void 0 ? _r : {}),
97
- image: (_t = (_s = buildConfig.test) === null || _s === void 0 ? void 0 : _s.jobImage) !== null && _t !== void 0 ? _t : buildConfig.jobImage,
98
- script: __spreadArray([], __read((0, utils_1.ensureArray)((_u = buildConfig.test) === null || _u === void 0 ? void 0 : _u.command)), false)
99
- }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.build.dir, (_v = buildConfig.test) === null || _v === void 0 ? void 0 : _v.artifactsReports, (_w = buildConfig.test) === null || _w === void 0 ? void 0 : _w.artifacts)) : null;
97
+ runnerVariables: __assign(__assign({}, RUNNER_CUSTOM_TEST_VARIABLES), (_u = (_t = buildConfig.test) === null || _t === void 0 ? void 0 : _t.runnerVariables) !== null && _u !== void 0 ? _u : {}),
98
+ image: (_w = (_v = buildConfig.test) === null || _v === void 0 ? void 0 : _v.jobImage) !== null && _w !== void 0 ? _w : buildConfig.jobImage,
99
+ script: __spreadArray([], __read((0, utils_1.ensureArray)((_x = buildConfig.test) === null || _x === void 0 ? void 0 : _x.command)), false),
100
+ allow_failure: (_y = buildConfig.test) === null || _y === void 0 ? void 0 : _y.allowFailure
101
+ }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.build.dir, (_z = buildConfig.test) === null || _z === void 0 ? void 0 : _z.artifactsReports, (_0 = buildConfig.test) === null || _0 === void 0 ? void 0 : _0.artifacts)) : null;
100
102
  return [auditJob, lintJob, testJob].filter(utils_1.notNil);
101
103
  };
102
104
  exports.createCustomTestJobs = createCustomTestJobs;
@@ -54,7 +54,7 @@ var constants_1 = require("./constants");
54
54
  var yarn_1 = require("./yarn");
55
55
  var createJobCache_1 = require("../cache/createJobCache");
56
56
  var createNodeTestJobs = function (context) {
57
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
57
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
58
58
  // don't run tests after release
59
59
  // TODO: this will be replaced by using rules
60
60
  if (context.trigger === "taggedRelease") {
@@ -80,26 +80,28 @@ var createNodeTestJobs = function (context) {
80
80
  runnerVariables: __assign(__assign({}, constants_1.NODE_RUNNER_BUILD_VARIABLES), (_b = (_a = buildConfig.audit) === null || _a === void 0 ? void 0 : _a.runnerVariables) !== null && _b !== void 0 ? _b : {}),
81
81
  image: (_d = (_c = buildConfig.audit) === null || _c === void 0 ? void 0 : _c.jobImage) !== null && _d !== void 0 ? _d : defaultImage,
82
82
  cache: undefined,
83
- script: __spreadArray(["cd ".concat(context.build.dir)], __read((_f = (0, utils_1.ensureArrayOrNull)((_e = buildConfig.audit) === null || _e === void 0 ? void 0 : _e.command)) !== null && _f !== void 0 ? _f : [context.packageManagerInfo.isClassic ? "yarn audit" : "yarn npm audit --environment production" // yarn 2
83
+ script: __spreadArray(["cd ".concat(context.build.dir)], __read((_f = (0, utils_1.ensureArrayOrNull)((_e = buildConfig.audit) === null || _e === void 0 ? void 0 : _e.command)) !== null && _f !== void 0 ? _f : [context.packageManagerInfo.isClassic ? "yarn audit --level critical" : "yarn npm audit --environment production --level critical" // yarn 2
84
84
  ]), false),
85
- allow_failure: true
86
- }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.build.dir, (_g = buildConfig.audit) === null || _g === void 0 ? void 0 : _g.artifactsReports, (_h = buildConfig.audit) === null || _h === void 0 ? void 0 : _h.artifacts)) : null;
85
+ allow_failure: (_h = (_g = buildConfig.audit) === null || _g === void 0 ? void 0 : _g.allowFailure) !== null && _h !== void 0 ? _h : true
86
+ }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.build.dir, (_j = buildConfig.audit) === null || _j === void 0 ? void 0 : _j.artifactsReports, (_k = buildConfig.audit) === null || _k === void 0 ? void 0 : _k.artifacts)) : null;
87
87
  var lintJob = buildConfig.lint !== false ? __assign(__assign(__assign({
88
88
  name: "๐Ÿ‘ฎ lint"
89
89
  }, base), {
90
- runnerVariables: __assign(__assign({}, constants_1.NODE_RUNNER_BUILD_VARIABLES), (_k = (_j = buildConfig.lint) === null || _j === void 0 ? void 0 : _j.runnerVariables) !== null && _k !== void 0 ? _k : {}),
91
- image: (_m = (_l = buildConfig.lint) === null || _l === void 0 ? void 0 : _l.jobImage) !== null && _m !== void 0 ? _m : defaultImage,
90
+ runnerVariables: __assign(__assign({}, constants_1.NODE_RUNNER_BUILD_VARIABLES), (_m = (_l = buildConfig.lint) === null || _l === void 0 ? void 0 : _l.runnerVariables) !== null && _m !== void 0 ? _m : {}),
91
+ image: (_p = (_o = buildConfig.lint) === null || _o === void 0 ? void 0 : _o.jobImage) !== null && _p !== void 0 ? _p : defaultImage,
92
92
  cache: (0, createJobCache_1.createJobCacheFromCacheConfigs)(context, (0, cache_1.getNodeCache)(context)),
93
- script: __spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, yarn_1.ensureNodeVersion)(context)), false), ["cd ".concat(context.build.dir)], false), __read(yarnInstall), false), __read((_p = (0, utils_1.ensureArrayOrNull)((_o = buildConfig.lint) === null || _o === void 0 ? void 0 : _o.command)) !== null && _p !== void 0 ? _p : ["yarn lint"]), false)
94
- }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.build.dir, (_q = buildConfig.lint) === null || _q === void 0 ? void 0 : _q.artifactsReports, (_r = buildConfig.lint) === null || _r === void 0 ? void 0 : _r.artifacts)) : null;
93
+ script: __spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, yarn_1.ensureNodeVersion)(context)), false), ["cd ".concat(context.build.dir)], false), __read(yarnInstall), false), __read((_r = (0, utils_1.ensureArrayOrNull)((_q = buildConfig.lint) === null || _q === void 0 ? void 0 : _q.command)) !== null && _r !== void 0 ? _r : ["yarn lint"]), false),
94
+ allow_failure: (_s = buildConfig.lint) === null || _s === void 0 ? void 0 : _s.allowFailure
95
+ }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.build.dir, (_t = buildConfig.lint) === null || _t === void 0 ? void 0 : _t.artifactsReports, (_u = buildConfig.lint) === null || _u === void 0 ? void 0 : _u.artifacts)) : null;
95
96
  var testJob = buildConfig.test !== false ? __assign(__assign(__assign({
96
97
  name: "๐Ÿงช test"
97
98
  }, base), {
98
- runnerVariables: __assign(__assign({}, constants_1.NODE_RUNNER_BUILD_VARIABLES), (_t = (_s = buildConfig.test) === null || _s === void 0 ? void 0 : _s.runnerVariables) !== null && _t !== void 0 ? _t : {}),
99
- image: (_v = (_u = buildConfig.test) === null || _u === void 0 ? void 0 : _u.jobImage) !== null && _v !== void 0 ? _v : (0, runner_1.getRunnerImage)("jobs-testing-chrome"),
99
+ runnerVariables: __assign(__assign({}, constants_1.NODE_RUNNER_BUILD_VARIABLES), (_w = (_v = buildConfig.test) === null || _v === void 0 ? void 0 : _v.runnerVariables) !== null && _w !== void 0 ? _w : {}),
100
+ image: (_y = (_x = buildConfig.test) === null || _x === void 0 ? void 0 : _x.jobImage) !== null && _y !== void 0 ? _y : (0, runner_1.getRunnerImage)("jobs-testing-chrome"),
100
101
  cache: (0, createJobCache_1.createJobCacheFromCacheConfigs)(context, (0, cache_1.getNodeCache)(context)),
101
- script: __spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, yarn_1.ensureNodeVersion)(context)), false), ["cd ".concat(context.build.dir)], false), __read(yarnInstall), false), __read((_x = (0, utils_1.ensureArrayOrNull)((_w = buildConfig.test) === null || _w === void 0 ? void 0 : _w.command)) !== null && _x !== void 0 ? _x : ["yarn test"]), false)
102
- }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.build.dir, (_y = buildConfig.test) === null || _y === void 0 ? void 0 : _y.artifactsReports, (_z = buildConfig.test) === null || _z === void 0 ? void 0 : _z.artifacts)) : null;
102
+ script: __spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((0, yarn_1.ensureNodeVersion)(context)), false), ["cd ".concat(context.build.dir)], false), __read(yarnInstall), false), __read((_0 = (0, utils_1.ensureArrayOrNull)((_z = buildConfig.test) === null || _z === void 0 ? void 0 : _z.command)) !== null && _0 !== void 0 ? _0 : ["yarn test"]), false),
103
+ allow_failure: (_1 = buildConfig.test) === null || _1 === void 0 ? void 0 : _1.allowFailure
104
+ }), (0, createArtifactsConfig_1.createArtifactsConfig)(context.build.dir, (_2 = buildConfig.test) === null || _2 === void 0 ? void 0 : _2.artifactsReports, (_3 = buildConfig.test) === null || _3 === void 0 ? void 0 : _3.artifacts)) : null;
103
105
  return [auditJob, lintJob, testJob].filter(utils_1.notNil);
104
106
  };
105
107
  exports.createNodeTestJobs = createNodeTestJobs;
@@ -48,7 +48,7 @@ exports.createRailsTestJobs = void 0;
48
48
  var __1 = require("../..");
49
49
  var utils_1 = require("../../utils");
50
50
  var createRailsTestJobs = function (context) {
51
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
51
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
52
52
  // don't run tests after release
53
53
  // TODO: this will be replaced by using rules
54
54
  if (context.trigger === "taggedRelease") {
@@ -80,27 +80,29 @@ var createRailsTestJobs = function (context) {
80
80
  cache: undefined,
81
81
  image: (_c = (_b = (_a = buildConfig.audit) === null || _a === void 0 ? void 0 : _a.jobImage) !== null && _b !== void 0 ? _b : buildConfig.jobImage) !== null && _c !== void 0 ? _c : defaultImage,
82
82
  script: __spreadArray(["cd ".concat(context.build.dir)], __read((_e = (0, utils_1.ensureArrayOrNull)((_d = buildConfig.audit) === null || _d === void 0 ? void 0 : _d.command)) !== null && _e !== void 0 ? _e : ["gem install bundler-audit", "bundle audit check"]), false),
83
- allow_failure: true
83
+ allow_failure: (_g = (_f = buildConfig.audit) === null || _f === void 0 ? void 0 : _f.allowFailure) !== null && _g !== void 0 ? _g : true
84
84
  }) : null;
85
85
  var lintJob = buildConfig.lint !== false ? __assign(__assign({
86
86
  name: "๐Ÿ‘ฎ lint"
87
87
  }, base), {
88
88
  cache: bundlerCache,
89
- image: (_h = (_g = (_f = buildConfig.lint) === null || _f === void 0 ? void 0 : _f.jobImage) !== null && _g !== void 0 ? _g : buildConfig.jobImage) !== null && _h !== void 0 ? _h : defaultImage,
90
- script: __spreadArray(__spreadArray(["cd ".concat(context.build.dir)], __read(bundlerInstall), false), __read((_k = (0, utils_1.ensureArrayOrNull)((_j = buildConfig.lint) === null || _j === void 0 ? void 0 : _j.command)) !== null && _k !== void 0 ? _k : ["bundle exec rubocop"]), false)
89
+ image: (_k = (_j = (_h = buildConfig.lint) === null || _h === void 0 ? void 0 : _h.jobImage) !== null && _j !== void 0 ? _j : buildConfig.jobImage) !== null && _k !== void 0 ? _k : defaultImage,
90
+ script: __spreadArray(__spreadArray(["cd ".concat(context.build.dir)], __read(bundlerInstall), false), __read((_m = (0, utils_1.ensureArrayOrNull)((_l = buildConfig.lint) === null || _l === void 0 ? void 0 : _l.command)) !== null && _m !== void 0 ? _m : ["bundle exec rubocop"]), false),
91
+ allow_failure: (_o = buildConfig.lint) === null || _o === void 0 ? void 0 : _o.allowFailure
91
92
  }) : null;
92
93
  var testJob = buildConfig.test !== false ? __assign(__assign({
93
94
  name: "๐Ÿงช test"
94
95
  }, base), {
95
96
  cache: bundlerCache,
96
- image: (_o = (_m = (_l = buildConfig.test) === null || _l === void 0 ? void 0 : _l.jobImage) !== null && _m !== void 0 ? _m : buildConfig.jobImage) !== null && _o !== void 0 ? _o : defaultImage,
97
- script: __spreadArray(__spreadArray(["cd ".concat(context.build.dir)], __read(bundlerInstall), false), __read((_q = (0, utils_1.ensureArrayOrNull)((_p = buildConfig.test) === null || _p === void 0 ? void 0 : _p.command)) !== null && _q !== void 0 ? _q : ["bundle exec rake db:test:prepare", "bundle exec rake assets:precompile assets:clean", "bundle exec rspec"]), false),
97
+ image: (_r = (_q = (_p = buildConfig.test) === null || _p === void 0 ? void 0 : _p.jobImage) !== null && _q !== void 0 ? _q : buildConfig.jobImage) !== null && _r !== void 0 ? _r : defaultImage,
98
+ script: __spreadArray(__spreadArray(["cd ".concat(context.build.dir)], __read(bundlerInstall), false), __read((_t = (0, utils_1.ensureArrayOrNull)((_s = buildConfig.test) === null || _s === void 0 ? void 0 : _s.command)) !== null && _t !== void 0 ? _t : ["bundle exec rake db:test:prepare", "bundle exec rake assets:precompile assets:clean", "bundle exec rspec"]), false),
99
+ allow_failure: (_u = buildConfig.test) === null || _u === void 0 ? void 0 : _u.allowFailure,
98
100
  runnerVariables: {
99
101
  RAILS_ENV: "test",
100
102
  DATABASE_URL: "postgresql://postgres@database"
101
103
  },
102
104
  services: [{
103
- name: buildConfig.test && "databaseImage" in buildConfig.test ? (_s = (_r = buildConfig === null || buildConfig === void 0 ? void 0 : buildConfig.test) === null || _r === void 0 ? void 0 : _r.databaseImage) !== null && _s !== void 0 ? _s : "docker.io/postgres:latest" : "docker.io/postgres:latest",
105
+ name: buildConfig.test && "databaseImage" in buildConfig.test ? (_w = (_v = buildConfig === null || buildConfig === void 0 ? void 0 : buildConfig.test) === null || _v === void 0 ? void 0 : _v.databaseImage) !== null && _w !== void 0 ? _w : "docker.io/postgres:latest" : "docker.io/postgres:latest",
104
106
  alias: "database",
105
107
  variables: {
106
108
  POSTGRES_HOST_AUTH_METHOD: "trust"
@@ -66,6 +66,11 @@ export type TestJobCustom = {
66
66
  * additional vars for this job runner
67
67
  */
68
68
  runnerVariables?: Record<string, string>;
69
+ /**
70
+ * Whether the job is allowed to fail without blocking the pipeline.
71
+ * Defaults to `true` for audit jobs, `undefined` (not set) for lint and test jobs.
72
+ */
73
+ allowFailure?: boolean;
69
74
  };
70
75
  export type BuildConfigBase = {
71
76
  /**
package/dist/constants.js CHANGED
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.DOCKER_REGISTRY = exports.PIPELINE_IMAGE_TAG = void 0;
7
- exports.PIPELINE_IMAGE_TAG = "v3-39-0-1d9f4591" || "latest";
7
+ exports.PIPELINE_IMAGE_TAG = "v3-40-0-dfa8bf9c" || "latest";
8
8
  exports.DOCKER_REGISTRY = "git.panter.ch:5001/catladder/catladder" || "git.panter.ch:5001/catladder/catladder";
@@ -53,8 +53,7 @@ var cloudRunJobs_1 = require("../cloudRunJobs");
53
53
  var common_1 = require("../common");
54
54
  var getOnDeployExecuteScript = function (context, when) {
55
55
  var executes = getExecutes(context);
56
- return executes.filter(function (_a) {
57
- var config = _a.config;
56
+ return executes.filter(function (config) {
58
57
  return config.when === when;
59
58
  }).flatMap(function (execute) {
60
59
  return getJobRunScriptForExecute(context, execute);
@@ -72,10 +71,7 @@ var getExecutes = function (context) {
72
71
  if (!value) {
73
72
  return [];
74
73
  }
75
- return [{
76
- jobName: key,
77
- config: value
78
- }];
74
+ return [value];
79
75
  })), false);
80
76
  };
81
77
  var getLegacyExecutes = function (context) {
@@ -86,22 +82,17 @@ var getLegacyExecutes = function (context) {
86
82
  if (!job.when || !["preDeploy", "postDeploy", "preStop", "postStop"].includes(job.when)) {
87
83
  return [];
88
84
  }
89
- return [{
90
- jobName: jobName,
91
- config: __assign({
92
- job: jobName,
93
- type: "job",
94
- when: job.when
95
- }, job.when === "preDeploy" || job.when === "postDeploy" ? {
96
- waitForCompletion: job.waitForCompletion
97
- } : {})
98
- }];
85
+ return [__assign({
86
+ job: jobName,
87
+ type: "job",
88
+ when: job.when
89
+ }, job.when === "preDeploy" || job.when === "postDeploy" ? {
90
+ waitForCompletion: job.waitForCompletion
91
+ } : {})];
99
92
  });
100
93
  };
101
- var getJobRunScriptForExecute = function (context, _a) {
102
- var _b;
103
- var jobName = _a.jobName,
104
- config = _a.config;
94
+ var getJobRunScriptForExecute = function (context, config) {
95
+ var _a;
105
96
  var type = config.type;
106
97
  if (type === "script") {
107
98
  return (0, utils_1.ensureArray)(config.script);
@@ -110,13 +101,13 @@ var getJobRunScriptForExecute = function (context, _a) {
110
101
  // always wait for completion for preStop and postStop jobs
111
102
  // since stop will delete the jobs afterwards, so they will fail
112
103
  var waitForCompletion = ["preStop", "postStop"].includes(config.when) ? true // always
113
- : "waitForCompletion" in config ? (_b = config.waitForCompletion) !== null && _b !== void 0 ? _b : false // depends on config
104
+ : "waitForCompletion" in config ? (_a = config.waitForCompletion) !== null && _a !== void 0 ? _a : false // depends on config
114
105
  : false;
115
106
  var argString = (0, createArgsString_1.createArgsString)(__assign(__assign({}, commonArgs), {
116
107
  wait: waitForCompletion === true ? true : undefined,
117
108
  args: (0, getJobOrServiceArgs_1.getCloudRunServiceOrJobArgsArg)(config.args)
118
109
  }));
119
- var fullJobName = (0, jobName_1.getFullJobName)(context, jobName);
110
+ var fullJobName = (0, jobName_1.getFullJobName)(context, config.job);
120
111
  return ["".concat((0, common_1.gcloudRunCmd)(), " jobs execute ").concat(fullJobName.toString(), " ").concat(argString)];
121
112
  }
122
113
  throw new Error("unsupported execute type: ".concat(type));