@catladder/cli 0.0.0-next-8b9ad5ca → 0.0.0-next-1cd29c1f

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 (119) hide show
  1. package/dist/bundles/catenv/index.js +19666 -1581
  2. package/dist/bundles/cli/index.js +18360 -195
  3. package/dist/cli/src/apps/cli/commands/project/commandConfigSecrets.js +22 -4
  4. package/dist/cli/src/apps/cli/commands/project/commandConfigSecrets.js.map +1 -1
  5. package/dist/cli/src/apps/cli/commands/project/setup/setupCloudRun.js +16 -14
  6. package/dist/cli/src/apps/cli/commands/project/setup/setupCloudRun.js.map +1 -1
  7. package/dist/cli/src/commands/project/commandSecretsSyncGithub.d.ts +11 -2
  8. package/dist/cli/src/commands/project/commandSecretsSyncGithub.js +37 -14
  9. package/dist/cli/src/commands/project/commandSecretsSyncGithub.js.map +1 -1
  10. package/dist/cli/src/gcloud/getProjectNumber.d.ts +5 -0
  11. package/dist/cli/src/gcloud/getProjectNumber.js +20 -0
  12. package/dist/cli/src/gcloud/getProjectNumber.js.map +1 -0
  13. package/dist/cli/src/store/updateCatladderStore.d.ts +10 -0
  14. package/dist/cli/src/store/updateCatladderStore.js +32 -0
  15. package/dist/cli/src/store/updateCatladderStore.js.map +1 -0
  16. package/dist/cli/src/utils/github.d.ts +6 -1
  17. package/dist/cli/src/utils/github.js +16 -9
  18. package/dist/cli/src/utils/github.js.map +1 -1
  19. package/dist/pipeline/src/backends/github/GithubBackend.d.ts +4 -1
  20. package/dist/pipeline/src/backends/github/GithubBackend.js +70 -12
  21. package/dist/pipeline/src/backends/github/GithubBackend.js.map +1 -1
  22. package/dist/pipeline/src/backends/github/ciVariables.js +3 -1
  23. package/dist/pipeline/src/backends/github/ciVariables.js.map +1 -1
  24. package/dist/pipeline/src/backends/github/createGithubJobs.d.ts +13 -3
  25. package/dist/pipeline/src/backends/github/createGithubJobs.js +80 -14
  26. package/dist/pipeline/src/backends/github/createGithubJobs.js.map +1 -1
  27. package/dist/pipeline/src/backends/github/githubReleaseJobs.d.ts +2 -1
  28. package/dist/pipeline/src/backends/github/githubReleaseJobs.js +46 -33
  29. package/dist/pipeline/src/backends/github/githubReleaseJobs.js.map +1 -1
  30. package/dist/pipeline/src/backends/github/index.d.ts +2 -1
  31. package/dist/pipeline/src/backends/github/index.js +2 -1
  32. package/dist/pipeline/src/backends/github/index.js.map +1 -1
  33. package/dist/pipeline/src/backends/github/scriptFiles.d.ts +25 -0
  34. package/dist/pipeline/src/backends/github/scriptFiles.js +50 -0
  35. package/dist/pipeline/src/backends/github/scriptFiles.js.map +1 -0
  36. package/dist/pipeline/src/backends/gitlab/GitlabBackend.d.ts +1 -0
  37. package/dist/pipeline/src/backends/gitlab/GitlabBackend.js +18 -8
  38. package/dist/pipeline/src/backends/gitlab/GitlabBackend.js.map +1 -1
  39. package/dist/pipeline/src/backends/gitlab/ciVariables.js +2 -1
  40. package/dist/pipeline/src/backends/gitlab/ciVariables.js.map +1 -1
  41. package/dist/pipeline/src/backends/gitlab/createGitlabJobs.d.ts +3 -2
  42. package/dist/pipeline/src/backends/gitlab/createGitlabJobs.js +84 -10
  43. package/dist/pipeline/src/backends/gitlab/createGitlabJobs.js.map +1 -1
  44. package/dist/pipeline/src/backends/gitlab/createGitlabPipeline.js +1 -1
  45. package/dist/pipeline/src/backends/gitlab/createGitlabPipeline.js.map +1 -1
  46. package/dist/pipeline/src/backends/gitlab/gitlabReleaseJobs.js +2 -2
  47. package/dist/pipeline/src/backends/gitlab/gitlabReleaseJobs.js.map +1 -1
  48. package/dist/pipeline/src/backends/types.d.ts +2 -1
  49. package/dist/pipeline/src/bash/ciVariables.d.ts +1 -1
  50. package/dist/pipeline/src/bash/ciVariables.js.map +1 -1
  51. package/dist/pipeline/src/build/node/yarn.js +4 -1
  52. package/dist/pipeline/src/build/node/yarn.js.map +1 -1
  53. package/dist/pipeline/src/build/types.d.ts +1 -1
  54. package/dist/pipeline/src/config/readConfig.js +15 -4
  55. package/dist/pipeline/src/config/readConfig.js.map +1 -1
  56. package/dist/pipeline/src/constants.js +1 -1
  57. package/dist/pipeline/src/context/getEnvironmentVariables.d.ts +8 -0
  58. package/dist/pipeline/src/context/getEnvironmentVariables.js +3 -3
  59. package/dist/pipeline/src/context/getEnvironmentVariables.js.map +1 -1
  60. package/dist/pipeline/src/context/transformJobOnlyVars.js +2 -2
  61. package/dist/pipeline/src/context/transformJobOnlyVars.js.map +1 -1
  62. package/dist/pipeline/src/context/utils/envVars.d.ts +7 -0
  63. package/dist/pipeline/src/context/utils/envVars.js +22 -1
  64. package/dist/pipeline/src/context/utils/envVars.js.map +1 -1
  65. package/dist/pipeline/src/customImages/hash.d.ts +15 -0
  66. package/dist/pipeline/src/customImages/hash.js +71 -0
  67. package/dist/pipeline/src/customImages/hash.js.map +1 -0
  68. package/dist/pipeline/src/customImages/jobImagesPlan.d.ts +59 -0
  69. package/dist/pipeline/src/customImages/jobImagesPlan.js +172 -0
  70. package/dist/pipeline/src/customImages/jobImagesPlan.js.map +1 -0
  71. package/dist/pipeline/src/customImages/shippedImages.d.ts +28 -0
  72. package/dist/pipeline/src/customImages/shippedImages.js +60 -0
  73. package/dist/pipeline/src/customImages/shippedImages.js.map +1 -0
  74. package/dist/pipeline/src/deploy/cloudRun/createJobs/common.d.ts +6 -3
  75. package/dist/pipeline/src/deploy/cloudRun/createJobs/common.js +11 -3
  76. package/dist/pipeline/src/deploy/cloudRun/createJobs/common.js.map +1 -1
  77. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js +2 -2
  78. package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js.map +1 -1
  79. package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +1 -1
  80. package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js.map +1 -1
  81. package/dist/pipeline/src/deploy/cloudRun/index.d.ts +0 -1
  82. package/dist/pipeline/src/deploy/cloudRun/index.js +11 -13
  83. package/dist/pipeline/src/deploy/cloudRun/index.js.map +1 -1
  84. package/dist/pipeline/src/deploy/cloudRun/utils/database.js +4 -1
  85. package/dist/pipeline/src/deploy/cloudRun/utils/database.js.map +1 -1
  86. package/dist/pipeline/src/index.d.ts +1 -0
  87. package/dist/pipeline/src/index.js +1 -0
  88. package/dist/pipeline/src/index.js.map +1 -1
  89. package/dist/pipeline/src/pipeline/generatePipelineFiles.js +16 -1
  90. package/dist/pipeline/src/pipeline/generatePipelineFiles.js.map +1 -1
  91. package/dist/pipeline/src/runner/index.d.ts +20 -1
  92. package/dist/pipeline/src/runner/index.js +16 -3
  93. package/dist/pipeline/src/runner/index.js.map +1 -1
  94. package/dist/pipeline/src/store/index.d.ts +36 -0
  95. package/dist/pipeline/src/store/index.js +64 -0
  96. package/dist/pipeline/src/store/index.js.map +1 -0
  97. package/dist/pipeline/src/types/config.d.ts +36 -2
  98. package/dist/pipeline/src/types/config.js.map +1 -1
  99. package/dist/pipeline/src/types/github-types.d.ts +5 -0
  100. package/dist/pipeline/src/types/jobs.d.ts +10 -2
  101. package/dist/pipeline/src/types/jobs.js.map +1 -1
  102. package/dist/pipeline/src/utils/gitlab.d.ts +5 -0
  103. package/dist/pipeline/src/utils/gitlab.js +6 -0
  104. package/dist/pipeline/src/utils/gitlab.js.map +1 -1
  105. package/dist/pipeline/src/utils/writeFiles.d.ts +6 -0
  106. package/dist/pipeline/src/utils/writeFiles.js +8 -0
  107. package/dist/pipeline/src/utils/writeFiles.js.map +1 -1
  108. package/dist/tsconfig.tsbuildinfo +1 -1
  109. package/package.json +1 -1
  110. package/src/apps/cli/commands/project/commandConfigSecrets.ts +25 -5
  111. package/src/apps/cli/commands/project/setup/setupCloudRun.ts +13 -21
  112. package/src/commands/project/commandSecretsSyncGithub.ts +34 -11
  113. package/src/gcloud/getProjectNumber.ts +20 -0
  114. package/src/store/updateCatladderStore.ts +33 -0
  115. package/src/utils/github.ts +24 -7
  116. package/dist/cli/src/gcloud/cloudRun/getCloudRunDomainSuffix.d.ts +0 -2
  117. package/dist/cli/src/gcloud/cloudRun/getCloudRunDomainSuffix.js +0 -29
  118. package/dist/cli/src/gcloud/cloudRun/getCloudRunDomainSuffix.js.map +0 -1
  119. package/src/gcloud/cloudRun/getCloudRunDomainSuffix.ts +0 -35
@@ -128,12 +128,30 @@ const mirrorSecretsToCiBackends = async (instance, config, envAndComponents, val
128
128
  if (!enabled.includes("github")) {
129
129
  return;
130
130
  }
131
+ const kinds = new Map();
132
+ for (const [componentName, envs] of Object.entries(envAndComponents)) {
133
+ for (const env of envs) {
134
+ const {
135
+ secretEnvVarKeys,
136
+ jobOnlyVars
137
+ } = await (0, getProjectConfig_1.getEnvironment)(env, componentName);
138
+ [...secretEnvVarKeys, ...jobOnlyVars.build.secretEnvVarKeys, ...jobOnlyVars.deploy.secretEnvVarKeys].forEach(({
139
+ key,
140
+ kind
141
+ }) => kinds.set((0, pipeline_1.getSecretVarName)(env, componentName, key), kind !== null && kind !== void 0 ? kind : "secret"));
142
+ }
143
+ }
131
144
  const secrets = Object.entries(envAndComponents).flatMap(([componentName, envs]) => envs.flatMap(env => {
132
145
  var _a;
133
- return Object.entries((_a = valuesToEdit[componentName][env]) !== null && _a !== void 0 ? _a : {}).map(([key, value]) => ({
134
- name: (0, pipeline_1.getSecretVarName)(env, componentName, key),
135
- value: typeof value === "string" ? value : JSON.stringify(value !== null && value !== void 0 ? value : "")
136
- }));
146
+ return Object.entries((_a = valuesToEdit[componentName][env]) !== null && _a !== void 0 ? _a : {}).map(([key, value]) => {
147
+ var _a;
148
+ const name = (0, pipeline_1.getSecretVarName)(env, componentName, key);
149
+ return {
150
+ name,
151
+ value: typeof value === "string" ? value : JSON.stringify(value !== null && value !== void 0 ? value : ""),
152
+ kind: (_a = kinds.get(name)) !== null && _a !== void 0 ? _a : "secret"
153
+ };
154
+ });
137
155
  }));
138
156
  if (secrets.length === 0) {
139
157
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"commandConfigSecrets.js","sourceRoot":"","sources":["../../../../../../../src/apps/cli/commands/project/commandConfigSecrets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commandConfigSecrets.js","sourceRoot":"","sources":["../../../../../../../src/apps/cli/commands/project/commandConfigSecrets.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.setupCloudRun = void 0;
7
7
  const pipeline_1 = require("../../../../../../../pipeline/src/index.js");
8
8
  const artifactsRegistry_1 = require("../../../../../gcloud/artifactsRegistry");
9
- const getCloudRunDomainSuffix_1 = require("../../../../../gcloud/cloudRun/getCloudRunDomainSuffix");
10
9
  const enableServices_1 = require("../../../../../gcloud/enableServices");
10
+ const getProjectNumber_1 = require("../../../../../gcloud/getProjectNumber");
11
11
  const serviceAccounts_1 = require("../../../../../gcloud/serviceAccounts");
12
- const gitlab_1 = require("../../../../../utils/gitlab");
12
+ const updateCatladderStore_1 = require("../../../../../store/updateCatladderStore");
13
13
  const setupCloudRun = async (instance, context) => {
14
14
  var _a, _b;
15
15
  if (!(0, pipeline_1.isOfDeployType)((_a = context.deploy) === null || _a === void 0 ? void 0 : _a.config, "google-cloudrun")) {
@@ -36,17 +36,19 @@ const setupCloudRun = async (instance, context) => {
36
36
  // for scheduling
37
37
  ...(config.cloudSql ? ["roles/cloudsql.admin"] : [])]
38
38
  }, pipeline_1.GCLOUD_DEPLOY_CREDENTIALS_KEY);
39
- // gcloud run automatically gives us a hostname
40
- // but the pipeline need to know it before deployment
41
- // so we get this through some magic and add this as a ci/cd variable
42
- // the pipeline than can use this to construct the canonical host
43
- instance.log("get service domain suffix... that might take a while initially");
44
- const suffix = await (0, getCloudRunDomainSuffix_1.getCloudRunDomainSuffix)(config);
45
- instance.log("domain suffix: " + suffix);
46
- await (0, gitlab_1.upsertAllVariables)(instance, {
47
- [pipeline_1.GCLOUD_RUN_CANONICAL_HOST_SUFFIX]: suffix
48
- }, context.env, context.name, false,
49
- // backup
50
- false);
39
+ // the project number is needed at generation time to construct cloud
40
+ // run's deterministic urls (<service>-<projectNumber>.<region>.run.app)
41
+ instance.log("fetch gcloud project number...");
42
+ const projectNumber = await (0, getProjectNumber_1.fetchGcloudProjectNumber)(config.projectId);
43
+ instance.log("project number: " + projectNumber);
44
+ await (0, updateCatladderStore_1.updateCatladderStore)(store => ({
45
+ ...store,
46
+ gcloudProjects: {
47
+ ...store.gcloudProjects,
48
+ [config.projectId]: {
49
+ projectNumber
50
+ }
51
+ }
52
+ }));
51
53
  };
52
54
  exports.setupCloudRun = setupCloudRun;
@@ -1 +1 @@
1
- {"version":3,"file":"setupCloudRun.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/setupCloudRun.ts"],"names":[],"mappings":";;;AACA,kDAI6B;AAG7B,+EAAwF;AACxF,oGAAiG;AACjG,yEAA4E;AAC5E,2EAAgG;AAChG,wDAAiE;AAE1D,MAAM,aAAa,GAAG,KAAK,EAChC,QAAY,EACZ,OAAyB,EACzB,EAAE;;IACF,IAAI,CAAC,IAAA,yBAAc,EAAC,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,CAAC;IAEtC,kBAAkB;IAElB,QAAQ,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC5C,MAAM,IAAA,qCAAoB,EACxB;QACE,oBAAoB;QACpB,iCAAiC;QACjC,+BAA+B,EAAE,sBAAsB;QACvD,qCAAqC,EAAE,mDAAmD;QAC1F,GAAG,CAAC,MAAM,CAAC,QAAQ;YACjB,CAAC,CAAC,CAAC,yBAAyB,EAAE,8BAA8B,CAAC;YAC7D,CAAC,CAAC,EAAE,CAAC;KACR,EACD,MAAM,CACP,CAAC;IACF,QAAQ,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC7C,MAAM,IAAA,iDAA6B,EAAC,MAAM,CAAC,CAAC;IAE5C,QAAQ,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACjD,MAAM,IAAA,yDAAuC,EAC3C,QAAQ,EACR,OAAO,EACP;QACE,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,yBAAyB;QACtC,WAAW,EAAE,8CAA8C;QAC3D,IAAI,EAAE,MAAM;QACZ,yLAAyL;QACzL,KAAK,EAAE;YACL,kCAAkC;YAClC,iBAAiB;YACjB,8BAA8B;YAC9B,4BAA4B,EAAE,iBAAiB;YAC/C,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD;KACF,EACD,wCAA6B,CAC9B,CAAC;IAEF,+CAA+C;IAC/C,qDAAqD;IACrD,qEAAqE;IACrE,iEAAiE;IACjE,QAAQ,CAAC,GAAG,CACV,gEAAgE,CACjE,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,IAAA,iDAAuB,EAAC,MAAM,CAAC,CAAC;IACrD,QAAQ,CAAC,GAAG,CAAC,iBAAiB,GAAG,MAAM,CAAC,CAAC;IAEzC,MAAM,IAAA,2BAAkB,EACtB,QAAQ,EACR;QACE,CAAC,2CAAgC,CAAC,EAAE,MAAM;KAC3C,EACD,OAAO,CAAC,GAAG,EACX,OAAO,CAAC,IAAI,EACZ,KAAK,EAAE,SAAS;IAChB,KAAK,CACN,CAAC;AACJ,CAAC,CAAC;AArEW,QAAA,aAAa,iBAqExB"}
1
+ {"version":3,"file":"setupCloudRun.js","sourceRoot":"","sources":["../../../../../../../../src/apps/cli/commands/project/setup/setupCloudRun.ts"],"names":[],"mappings":";;;AACA,kDAG6B;AAG7B,+EAAwF;AACxF,yEAA4E;AAC5E,6EAAkF;AAClF,2EAAgG;AAChG,oFAAiF;AAE1E,MAAM,aAAa,GAAG,KAAK,EAChC,QAAY,EACZ,OAAyB,EACzB,EAAE;;IACF,IAAI,CAAC,IAAA,yBAAc,EAAC,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,0CAAE,MAAM,CAAC;IAEtC,kBAAkB;IAElB,QAAQ,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC5C,MAAM,IAAA,qCAAoB,EACxB;QACE,oBAAoB;QACpB,iCAAiC;QACjC,+BAA+B,EAAE,sBAAsB;QACvD,qCAAqC,EAAE,mDAAmD;QAC1F,GAAG,CAAC,MAAM,CAAC,QAAQ;YACjB,CAAC,CAAC,CAAC,yBAAyB,EAAE,8BAA8B,CAAC;YAC7D,CAAC,CAAC,EAAE,CAAC;KACR,EACD,MAAM,CACP,CAAC;IACF,QAAQ,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC7C,MAAM,IAAA,iDAA6B,EAAC,MAAM,CAAC,CAAC;IAE5C,QAAQ,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACjD,MAAM,IAAA,yDAAuC,EAC3C,QAAQ,EACR,OAAO,EACP;QACE,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,WAAW,EAAE,yBAAyB;QACtC,WAAW,EAAE,8CAA8C;QAC3D,IAAI,EAAE,MAAM;QACZ,yLAAyL;QACzL,KAAK,EAAE;YACL,kCAAkC;YAClC,iBAAiB;YACjB,8BAA8B;YAC9B,4BAA4B,EAAE,iBAAiB;YAC/C,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACrD;KACF,EACD,wCAA6B,CAC9B,CAAC;IAEF,qEAAqE;IACrE,wEAAwE;IACxE,QAAQ,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,MAAM,IAAA,2CAAwB,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvE,QAAQ,CAAC,GAAG,CAAC,kBAAkB,GAAG,aAAa,CAAC,CAAC;IAEjD,MAAM,IAAA,2CAAoB,EAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrC,GAAG,KAAK;QACR,cAAc,EAAE;YACd,GAAG,KAAK,CAAC,cAAc;YACvB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,aAAa,EAAE;SACtC;KACF,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AA9DW,QAAA,aAAa,iBA8DxB"}
@@ -3,19 +3,22 @@ import type { IO } from "../../core/types";
3
3
  * all secrets declared in the config, with their values read from the
4
4
  * vault (github secrets are write-only and can never act as a source)
5
5
  */
6
- export declare const collectSecretsFromVault: (io: IO) => Promise<{
6
+ export declare const collectSecretsFromVault: (io: IO, envFilter?: string[]) => Promise<{
7
7
  secrets: {
8
8
  name: string;
9
9
  value: string;
10
+ kind: "secret" | "variable";
10
11
  }[];
11
12
  missing: string[];
12
13
  }>;
13
14
  /**
14
- * pushes secrets to github repository secrets via the gh cli
15
+ * pushes vault values to github via the gh cli: sensitive ones as repo
16
+ * secrets (masked), "variable"-kind ones as repo variables (plain)
15
17
  */
16
18
  export declare const pushSecretsToGithub: (io: IO, repo: string, secrets: {
17
19
  name: string;
18
20
  value: string;
21
+ kind: "secret" | "variable";
19
22
  }[]) => Promise<void>;
20
23
  /**
21
24
  * resolves the github repository from the configured git remote
@@ -34,4 +37,10 @@ export declare const commandSecretsSyncGithub: import("../../core/types").Comman
34
37
  readonly positional: true;
35
38
  readonly required: false;
36
39
  };
40
+ readonly env: {
41
+ readonly type: "string";
42
+ readonly message: "only sync these environments (comma-separated, e.g. review,dev) — github allows at most 100 repo secrets";
43
+ readonly positional: true;
44
+ readonly required: false;
45
+ };
37
46
  }>;
@@ -12,26 +12,35 @@ const github_1 = require("../../utils/github");
12
12
  * all secrets declared in the config, with their values read from the
13
13
  * vault (github secrets are write-only and can never act as a source)
14
14
  */
15
- const collectSecretsFromVault = async io => {
15
+ const collectSecretsFromVault = async (io, envFilter) => {
16
16
  const envAndComponents = await (0, getProjectConfig_1.getAllComponentsWithAllEnvsHierarchical)();
17
- const names = [];
17
+ const kinds = new Map();
18
18
  for (const [componentName, envs] of Object.entries(envAndComponents)) {
19
19
  for (const env of envs) {
20
+ if (envFilter && !envFilter.includes(env)) {
21
+ continue;
22
+ }
20
23
  const {
21
24
  secretEnvVarKeys,
22
25
  jobOnlyVars
23
26
  } = await (0, getProjectConfig_1.getEnvironment)(env, componentName);
24
27
  const keys = [...secretEnvVarKeys, ...jobOnlyVars.build.secretEnvVarKeys, ...jobOnlyVars.deploy.secretEnvVarKeys];
25
28
  keys.forEach(({
26
- key
27
- }) => names.push((0, pipeline_1.getSecretVarName)(env, componentName, key)));
29
+ key,
30
+ kind
31
+ }) => kinds.set((0, pipeline_1.getSecretVarName)(env, componentName, key), kind !== null && kind !== void 0 ? kind : "secret"));
28
32
  }
29
33
  }
34
+ const names = [...kinds.keys()];
30
35
  const values = await (await io.getVaultManager()).readSecrets(names, io);
31
- const secrets = names.filter(name => values[name] !== undefined).map(name => ({
32
- name,
33
- value: values[name]
34
- }));
36
+ const secrets = names.filter(name => values[name] !== undefined).map(name => {
37
+ var _a;
38
+ return {
39
+ name,
40
+ value: values[name],
41
+ kind: (_a = kinds.get(name)) !== null && _a !== void 0 ? _a : "secret"
42
+ };
43
+ });
35
44
  const missing = names.filter(name => values[name] === undefined);
36
45
  return {
37
46
  secrets,
@@ -40,15 +49,22 @@ const collectSecretsFromVault = async io => {
40
49
  };
41
50
  exports.collectSecretsFromVault = collectSecretsFromVault;
42
51
  /**
43
- * pushes secrets to github repository secrets via the gh cli
52
+ * pushes vault values to github via the gh cli: sensitive ones as repo
53
+ * secrets (masked), "variable"-kind ones as repo variables (plain)
44
54
  */
45
55
  const pushSecretsToGithub = async (io, repo, secrets) => {
46
56
  for (const {
47
57
  name,
48
- value
58
+ value,
59
+ kind
49
60
  } of secrets) {
50
- await (0, github_1.setGithubSecret)(repo, name, value);
51
- io.log(`✅ ${name}`);
61
+ if (kind === "variable") {
62
+ await (0, github_1.setGithubVariable)(repo, name, value);
63
+ io.log(`📖 ${name} (variable)`);
64
+ } else {
65
+ await (0, github_1.setGithubSecret)(repo, name, value);
66
+ io.log(`✅ ${name}`);
67
+ }
52
68
  }
53
69
  };
54
70
  exports.pushSecretsToGithub = pushSecretsToGithub;
@@ -79,10 +95,16 @@ exports.commandSecretsSyncGithub = (0, defineCommand_1.defineCommand)({
79
95
  message: "github repository (owner/name)",
80
96
  positional: true,
81
97
  required: false
98
+ },
99
+ env: {
100
+ type: "string",
101
+ message: "only sync these environments (comma-separated, e.g. review,dev) — github allows at most 100 repo secrets",
102
+ positional: true,
103
+ required: false
82
104
  }
83
105
  },
84
106
  execute: async ctx => {
85
- var _a;
107
+ var _a, _b;
86
108
  const config = await (0, getProjectConfig_1.getProjectConfig)();
87
109
  if (!config) {
88
110
  throw new Error("no catladder config found");
@@ -98,10 +120,11 @@ exports.commandSecretsSyncGithub = (0, defineCommand_1.defineCommand)({
98
120
  if (!repo) {
99
121
  throw new Error(`no github repository found on the '${(0, pipeline_1.getPipelineGitRemote)(config, "github")}' remote — pass it as owner/name or configure pipelines.github.gitRemote`);
100
122
  }
123
+ const envFilter = (_b = await ctx.get("env")) === null || _b === void 0 ? void 0 : _b.split(",").map(e => e.trim());
101
124
  const {
102
125
  secrets,
103
126
  missing
104
- } = await (0, exports.collectSecretsFromVault)(ctx);
127
+ } = await (0, exports.collectSecretsFromVault)(ctx, envFilter);
105
128
  if (missing.length > 0) {
106
129
  ctx.log(`⚠️ ${missing.length} secrets are not set in the vault and will be skipped:`);
107
130
  missing.forEach(name => ctx.log(` - ${name}`));
@@ -1 +1 @@
1
- {"version":3,"file":"commandSecretsSyncGithub.js","sourceRoot":"","sources":["../../../../../src/commands/project/commandSecretsSyncGithub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commandSecretsSyncGithub.js","sourceRoot":"","sources":["../../../../../src/commands/project/commandSecretsSyncGithub.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * resolves the numeric gcloud project number for a project id.
3
+ * Requires `cloudresourcemanager.googleapis.com` to be enabled.
4
+ */
5
+ export declare const fetchGcloudProjectNumber: (projectId: string) => Promise<string>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.fetchGcloudProjectNumber = void 0;
7
+ const child_process_promise_1 = require("child-process-promise");
8
+ /**
9
+ * resolves the numeric gcloud project number for a project id.
10
+ * Requires `cloudresourcemanager.googleapis.com` to be enabled.
11
+ */
12
+ const fetchGcloudProjectNumber = async projectId => {
13
+ const result = await (0, child_process_promise_1.exec)(`gcloud projects describe ${projectId} --format="value(projectNumber)"`);
14
+ const projectNumber = result.stdout.trim();
15
+ if (!/^\d+$/.test(projectNumber)) {
16
+ throw new Error(`could not determine the gcloud project number for "${projectId}" (got: "${projectNumber}")`);
17
+ }
18
+ return projectNumber;
19
+ };
20
+ exports.fetchGcloudProjectNumber = fetchGcloudProjectNumber;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getProjectNumber.js","sourceRoot":"","sources":["../../../../src/gcloud/getProjectNumber.ts"],"names":[],"mappings":";;;AAAA,iEAA6C;AAE7C;;;GAGG;AACI,MAAM,wBAAwB,GAAG,KAAK,EAC3C,SAAiB,EACA,EAAE;IACnB,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAI,EACvB,4BAA4B,SAAS,kCAAkC,CACxE,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,sDAAsD,SAAS,YAAY,aAAa,IAAI,CAC7F,CAAC;IACJ,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AAbW,QAAA,wBAAwB,4BAanC"}
@@ -0,0 +1,10 @@
1
+ import type { CatladderStore } from "../../../pipeline/src/index.js";
2
+ /**
3
+ * applies an update to `.catladder-store/store.yml` at the git root,
4
+ * creating the folder on first use
5
+ */
6
+ export declare const updateCatladderStore: (update: (store: CatladderStore) => CatladderStore) => Promise<{
7
+ gcloudProjects?: Record<string, {
8
+ projectNumber: string;
9
+ }>;
10
+ }>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.updateCatladderStore = void 0;
7
+ const promises_1 = require("fs/promises");
8
+ const path_1 = require("path");
9
+ const pipeline_1 = require("../../../pipeline/src/index.js");
10
+ const yaml_1 = require("yaml");
11
+ const projects_1 = require("../utils/projects");
12
+ const HEADER = `# managed by catladder — written by \`catladder project setup\`.
13
+ # Non-secret, machine-fetched values needed to generate the pipeline.
14
+ # Check this file in. If it is missing, rerun \`catladder project setup\`.
15
+ `;
16
+ /**
17
+ * applies an update to `.catladder-store/store.yml` at the git root,
18
+ * creating the folder on first use
19
+ */
20
+ const updateCatladderStore = async update => {
21
+ var _a;
22
+ const root = (_a = await (0, projects_1.getGitRoot)()) !== null && _a !== void 0 ? _a : process.cwd();
23
+ const store = (0, pipeline_1.readCatladderStore)(root);
24
+ const updated = pipeline_1.catladderStoreSchema.parse(update(store));
25
+ const path = (0, pipeline_1.getCatladderStorePath)(root);
26
+ await (0, promises_1.mkdir)((0, path_1.dirname)(path), {
27
+ recursive: true
28
+ });
29
+ await (0, promises_1.writeFile)(path, HEADER + (0, yaml_1.stringify)(updated));
30
+ return updated;
31
+ };
32
+ exports.updateCatladderStore = updateCatladderStore;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateCatladderStore.js","sourceRoot":"","sources":["../../../../src/store/updateCatladderStore.ts"],"names":[],"mappings":";;;AAAA,0CAA+C;AAC/C,+BAA+B;AAG/B,kDAI6B;AAC7B,+BAAiC;AAEjC,gDAA+C;AAE/C,MAAM,MAAM,GAAG;;;CAGd,CAAC;AAEF;;;GAGG;AACI,MAAM,oBAAoB,GAAG,KAAK,EACvC,MAAiD,EACjD,EAAE;;IACF,MAAM,IAAI,GAAG,MAAA,CAAC,MAAM,IAAA,qBAAU,GAAE,CAAC,mCAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,+BAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,IAAA,gCAAqB,EAAC,IAAI,CAAC,CAAC;IACzC,MAAM,IAAA,gBAAK,EAAC,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,IAAA,oBAAS,EAAC,IAAI,EAAE,MAAM,GAAG,IAAA,gBAAS,EAAC,OAAO,CAAC,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAVW,QAAA,oBAAoB,wBAU/B"}
@@ -12,4 +12,9 @@ export declare const getGithubRepoFromRemote: (remoteName: string) => Promise<st
12
12
  * sets a github actions repository secret via the gh cli.
13
13
  * The value is passed via stdin so it never shows up in a process list.
14
14
  */
15
- export declare const setGithubSecret: (repo: string, name: string, value: string) => Promise<void>;
15
+ export declare const setGithubSecret: (repo: string, name: string, value: string) => Promise<void>;
16
+ /**
17
+ * sets a github actions repository variable (plain, unmasked) via the
18
+ * gh cli — for vault values classified as not sensitive
19
+ */
20
+ export declare const setGithubVariable: (repo: string, name: string, value: string) => Promise<void>;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.setGithubSecret = exports.getGithubRepoFromRemote = exports.isGhAuthenticated = void 0;
6
+ exports.setGithubVariable = exports.setGithubSecret = exports.getGithubRepoFromRemote = exports.isGhAuthenticated = void 0;
7
7
  const child_process_1 = require("child_process");
8
8
  const util_1 = require("util");
9
9
  const execFile = (0, util_1.promisify)(child_process_1.execFile);
@@ -36,19 +36,26 @@ const getGithubRepoFromRemote = async remoteName => {
36
36
  }
37
37
  };
38
38
  exports.getGithubRepoFromRemote = getGithubRepoFromRemote;
39
- /**
40
- * sets a github actions repository secret via the gh cli.
41
- * The value is passed via stdin so it never shows up in a process list.
42
- */
43
- const setGithubSecret = async (repo, name, value) => new Promise((resolve, reject) => {
39
+ const ghSetViaStdin = (kind, repo, name, value) => new Promise((resolve, reject) => {
44
40
  var _a, _b;
45
- const child = (0, child_process_1.spawn)("gh", ["secret", "set", name, "--repo", repo], {
41
+ const child = (0, child_process_1.spawn)("gh", [kind, "set", name, "--repo", repo], {
46
42
  stdio: ["pipe", "ignore", "pipe"]
47
43
  });
48
44
  let stderr = "";
49
45
  (_a = child.stderr) === null || _a === void 0 ? void 0 : _a.on("data", data => stderr += data);
50
46
  child.on("error", reject);
51
- child.on("close", code => code === 0 ? resolve() : reject(new Error(`gh secret set ${name} failed: ${stderr.trim()}`)));
47
+ child.on("close", code => code === 0 ? resolve() : reject(new Error(`gh ${kind} set ${name} failed: ${stderr.trim()}`)));
52
48
  (_b = child.stdin) === null || _b === void 0 ? void 0 : _b.end(value);
53
49
  });
54
- exports.setGithubSecret = setGithubSecret;
50
+ /**
51
+ * sets a github actions repository secret via the gh cli.
52
+ * The value is passed via stdin so it never shows up in a process list.
53
+ */
54
+ const setGithubSecret = async (repo, name, value) => ghSetViaStdin("secret", repo, name, value);
55
+ exports.setGithubSecret = setGithubSecret;
56
+ /**
57
+ * sets a github actions repository variable (plain, unmasked) via the
58
+ * gh cli — for vault values classified as not sensitive
59
+ */
60
+ const setGithubVariable = async (repo, name, value) => ghSetViaStdin("variable", repo, name, value);
61
+ exports.setGithubVariable = setGithubVariable;
@@ -1 +1 @@
1
- {"version":3,"file":"github.js","sourceRoot":"","sources":["../../../../src/utils/github.ts"],"names":[],"mappings":";;;AAAA,iDAA8D;AAC9D,+BAAiC;AAEjC,MAAM,QAAQ,GAAG,IAAA,gBAAS,EAAC,wBAAU,CAAC,CAAC;AAEvC;;GAEG;AACI,MAAM,iBAAiB,GAAG,KAAK,IAAsB,EAAE;IAC5D,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAPW,QAAA,iBAAiB,qBAO5B;AAEF;;;;GAIG;AACI,MAAM,uBAAuB,GAAG,KAAK,EAC1C,UAAkB,EACW,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CACxB,gDAAgD,CACjD,CAAC;QACF,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC;IACpB,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,uBAAuB,2BAYlC;AAEF;;;GAGG;AACI,MAAM,eAAe,GAAG,KAAK,EAClC,IAAY,EACZ,IAAY,EACZ,KAAa,EACE,EAAE,CACjB,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;;IACpC,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE;QACjE,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;IACH,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAA,KAAK,CAAC,MAAM,0CAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;IACrD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CACzB,IAAI,KAAK,CAAC;QACR,CAAC,CAAC,OAAO,EAAE;QACX,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,IAAI,YAAY,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACxE,CAAC;IACF,MAAA,KAAK,CAAC,KAAK,0CAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AAlBQ,QAAA,eAAe,mBAkBvB"}
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../../../src/utils/github.ts"],"names":[],"mappings":";;;AAAA,iDAA8D;AAC9D,+BAAiC;AAEjC,MAAM,QAAQ,GAAG,IAAA,gBAAS,EAAC,wBAAU,CAAC,CAAC;AAEvC;;GAEG;AACI,MAAM,iBAAiB,GAAG,KAAK,IAAsB,EAAE;IAC5D,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAPW,QAAA,iBAAiB,qBAO5B;AAEF;;;;GAIG;AACI,MAAM,uBAAuB,GAAG,KAAK,EAC1C,UAAkB,EACW,EAAE;IAC/B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CACxB,gDAAgD,CACjD,CAAC;QACF,OAAO,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC;IACpB,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAZW,QAAA,uBAAuB,2BAYlC;AAEF,MAAM,aAAa,GAAG,CACpB,IAA2B,EAC3B,IAAY,EACZ,IAAY,EACZ,KAAa,EACE,EAAE,CACjB,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;;IACpC,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE;QAC7D,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;IACH,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAA,KAAK,CAAC,MAAM,0CAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC;IACrD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CACzB,IAAI,KAAK,CAAC;QACR,CAAC,CAAC,OAAO,EAAE;QACX,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,IAAI,YAAY,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACzE,CAAC;IACF,MAAA,KAAK,CAAC,KAAK,0CAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEL;;;GAGG;AACI,MAAM,eAAe,GAAG,KAAK,EAClC,IAAY,EACZ,IAAY,EACZ,KAAa,EACE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAJlD,QAAA,eAAe,mBAImC;AAE/D;;;GAGG;AACI,MAAM,iBAAiB,GAAG,KAAK,EACpC,IAAY,EACZ,IAAY,EACZ,KAAa,EACE,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAJpD,QAAA,iBAAiB,qBAImC"}
@@ -1,12 +1,15 @@
1
1
  import type { Config } from "../../types";
2
2
  import type { GithubWorkflow } from "../../types/github-types";
3
3
  import type { PipelineBackend, PipelineFile } from "../types";
4
+ import { JobImagesPlan } from "../../customImages/jobImagesPlan";
5
+ import { GithubScriptFiles } from "./scriptFiles";
4
6
  export declare class GithubBackend implements PipelineBackend {
5
7
  readonly type: "github";
6
8
  cleanup(): Promise<void>;
7
9
  createFiles(config: Config): Promise<PipelineFile[]>;
10
+ private createImagesPlan;
8
11
  /**
9
12
  * all workflows keyed by file name, mainly for testing purposes
10
13
  */
11
- createWorkflows(config: Config): Promise<Record<string, GithubWorkflow>>;
14
+ createWorkflows(config: Config, images?: JobImagesPlan, scripts?: GithubScriptFiles): Promise<Record<string, GithubWorkflow>>;
12
15
  }
@@ -10,7 +10,11 @@ const createAllJobs_1 = require("../../pipeline/createAllJobs");
10
10
  const config_1 = require("../../types/config");
11
11
  const ciVariables_1 = require("./ciVariables");
12
12
  const createGithubJobs_1 = require("./createGithubJobs");
13
+ const jobImagesPlan_1 = require("../../customImages/jobImagesPlan");
14
+ const scriptFunctions_1 = require("./scriptFunctions");
15
+ const utils_1 = require("../../utils");
13
16
  const githubReleaseJobs_1 = require("./githubReleaseJobs");
17
+ const scriptFiles_1 = require("./scriptFiles");
14
18
  const WORKFLOWS_FOLDER = ".github/workflows";
15
19
  /**
16
20
  * generated workflow files are prefixed so that cleanup never touches
@@ -55,18 +59,29 @@ class GithubBackend {
55
59
  async cleanup() {
56
60
  const entries = await (0, promises_1.readdir)(WORKFLOWS_FOLDER).catch(() => []);
57
61
  await Promise.all(entries.filter(file => file.startsWith(GENERATED_FILE_PREFIX)).map(file => (0, promises_1.unlink)((0, path_1.join)(WORKFLOWS_FOLDER, file))));
62
+ await (0, promises_1.rm)(scriptFiles_1.GITHUB_SCRIPTS_FOLDER, {
63
+ recursive: true,
64
+ force: true
65
+ });
58
66
  }
59
67
  async createFiles(config) {
60
- const workflows = await this.createWorkflows(config);
61
- return Object.entries(workflows).map(([fileName, workflow]) => ({
68
+ const images = this.createImagesPlan(config);
69
+ const scripts = new scriptFiles_1.GithubScriptFiles();
70
+ const workflows = await this.createWorkflows(config, images, scripts);
71
+ return [...Object.entries(workflows).map(([fileName, workflow]) => ({
62
72
  path: (0, path_1.join)(WORKFLOWS_FOLDER, fileName),
63
73
  content: workflow
64
- }));
74
+ })),
75
+ // materialized job scripts and image definitions (repo mode)
76
+ ...scripts.getGeneratedFiles(), ...images.getGeneratedFiles()];
77
+ }
78
+ createImagesPlan(config) {
79
+ return new jobImagesPlan_1.JobImagesPlan((0, jobImagesPlan_1.getJobImagesMode)(config, this.type), this.type);
65
80
  }
66
81
  /**
67
82
  * all workflows keyed by file name, mainly for testing purposes
68
83
  */
69
- async createWorkflows(config) {
84
+ async createWorkflows(config, images = this.createImagesPlan(config), scripts = new scriptFiles_1.GithubScriptFiles()) {
70
85
  const workflows = {};
71
86
  const reviewStopJobs = {};
72
87
  const manualJobs = {};
@@ -77,13 +92,14 @@ class GithubBackend {
77
92
  pipelineType: this.type
78
93
  });
79
94
  const uploadProviderIds = (0, createGithubJobs_1.getUploadProviderIds)(allJobs);
95
+ const secretKinds = (0, createGithubJobs_1.collectSecretKinds)(allJobs);
80
96
  const jobs = {};
81
97
  // NOTE: agent jobs are gitlab-only and skipped on github
82
98
  [...allJobs.workspaces, ...allJobs.components].forEach(({
83
99
  context,
84
100
  jobs: contextJobs
85
101
  }) => contextJobs.forEach(job => {
86
- const [id, githubJob] = (0, createGithubJobs_1.makeGithubJob)(context, job, allJobs, uploadProviderIds);
102
+ const [id, githubJob] = (0, createGithubJobs_1.makeGithubJob)(context, job, allJobs, uploadProviderIds, images, scripts, secretKinds);
87
103
  if (isReviewStopJob(context, job)) {
88
104
  reviewStopJobs[id] = githubJob;
89
105
  } else if (isManualTaskJob(job)) {
@@ -93,15 +109,19 @@ class GithubBackend {
93
109
  }
94
110
  }));
95
111
  if (trigger === "mainBranch") {
96
- const releaseJobs = (0, githubReleaseJobs_1.getGithubReleaseJobs)(config, Object.keys(jobs));
112
+ const releaseJobs = (0, githubReleaseJobs_1.getGithubReleaseJobs)(config, Object.keys(jobs), images);
97
113
  Object.assign(jobs, releaseJobs.main);
98
114
  Object.assign(manualJobs, releaseJobs.manual);
99
115
  }
100
116
  if (Object.keys(jobs).length > 0) {
101
117
  workflows[`${GENERATED_FILE_PREFIX}${workflowFileName(trigger)}`] = {
102
118
  ...TRIGGER_WORKFLOWS[trigger],
119
+ ...workflowPermissions(images),
103
120
  env: ciVariables_1.GITHUB_INJECTED_WORKFLOW_ENV,
104
- jobs
121
+ jobs: {
122
+ ...makeEnsureImageGithubJobs(images),
123
+ ...jobs
124
+ }
105
125
  };
106
126
  }
107
127
  }
@@ -113,8 +133,12 @@ class GithubBackend {
113
133
  types: ["closed"]
114
134
  }
115
135
  },
136
+ ...workflowPermissions(images),
116
137
  env: ciVariables_1.GITHUB_INJECTED_WORKFLOW_ENV,
117
- jobs: reviewStopJobs
138
+ jobs: {
139
+ ...makeEnsureImageGithubJobs(images),
140
+ ...reviewStopJobs
141
+ }
118
142
  };
119
143
  }
120
144
  if (Object.keys(manualJobs).length > 0) {
@@ -132,17 +156,51 @@ class GithubBackend {
132
156
  }
133
157
  }
134
158
  },
159
+ ...workflowPermissions(images),
135
160
  env: ciVariables_1.GITHUB_INJECTED_WORKFLOW_ENV,
136
- jobs: Object.fromEntries(Object.entries(manualJobs).map(([id, job]) => [id, {
137
- ...job,
138
- if: `\${{ inputs.job == '${id}' }}`
139
- }]))
161
+ jobs: {
162
+ ...makeEnsureImageGithubJobs(images),
163
+ ...Object.fromEntries(Object.entries(manualJobs).map(([id, job]) => [id, {
164
+ ...job,
165
+ if: `\${{ inputs.job == '${id}' }}`
166
+ }]))
167
+ }
140
168
  };
141
169
  }
142
170
  return workflows;
143
171
  }
144
172
  }
145
173
  exports.GithubBackend = GithubBackend;
174
+ /**
175
+ * repo mode needs packages:write for pushing job images to ghcr
176
+ */
177
+ const workflowPermissions = images => images.mode === "repo" ? {
178
+ permissions: {
179
+ contents: "read",
180
+ packages: "write"
181
+ }
182
+ } : {};
183
+ /**
184
+ * the image build jobs: always run (github has no server-side
185
+ * changes-filter), the existence check makes unchanged runs fast.
186
+ * Docker is native on github runners — no container, no dind.
187
+ */
188
+ const makeEnsureImageGithubJobs = images => Object.fromEntries(images.getEnsureJobs().map(job => {
189
+ var _a, _b;
190
+ return [(0, createGithubJobs_1.githubGlobalJobId)(job.name), {
191
+ name: job.name,
192
+ "runs-on": "ubuntu-latest",
193
+ steps: [{
194
+ name: "Checkout",
195
+ uses: "actions/checkout@v4"
196
+ }, {
197
+ name: job.name,
198
+ id: "main",
199
+ run: [...(0, scriptFunctions_1.getGithubScriptFunctionDefinitions)(), ...((_b = (_a = job.script) === null || _a === void 0 ? void 0 : _a.filter(utils_1.notNil)) !== null && _b !== void 0 ? _b : [])].join("\n"),
200
+ shell: "bash"
201
+ }]
202
+ }];
203
+ }));
146
204
  const workflowFileName = trigger => {
147
205
  switch (trigger) {
148
206
  case "mr":