@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.
- package/dist/bundles/catenv/index.js +19666 -1581
- package/dist/bundles/cli/index.js +18360 -195
- package/dist/cli/src/apps/cli/commands/project/commandConfigSecrets.js +22 -4
- package/dist/cli/src/apps/cli/commands/project/commandConfigSecrets.js.map +1 -1
- package/dist/cli/src/apps/cli/commands/project/setup/setupCloudRun.js +16 -14
- package/dist/cli/src/apps/cli/commands/project/setup/setupCloudRun.js.map +1 -1
- package/dist/cli/src/commands/project/commandSecretsSyncGithub.d.ts +11 -2
- package/dist/cli/src/commands/project/commandSecretsSyncGithub.js +37 -14
- package/dist/cli/src/commands/project/commandSecretsSyncGithub.js.map +1 -1
- package/dist/cli/src/gcloud/getProjectNumber.d.ts +5 -0
- package/dist/cli/src/gcloud/getProjectNumber.js +20 -0
- package/dist/cli/src/gcloud/getProjectNumber.js.map +1 -0
- package/dist/cli/src/store/updateCatladderStore.d.ts +10 -0
- package/dist/cli/src/store/updateCatladderStore.js +32 -0
- package/dist/cli/src/store/updateCatladderStore.js.map +1 -0
- package/dist/cli/src/utils/github.d.ts +6 -1
- package/dist/cli/src/utils/github.js +16 -9
- package/dist/cli/src/utils/github.js.map +1 -1
- package/dist/pipeline/src/backends/github/GithubBackend.d.ts +4 -1
- package/dist/pipeline/src/backends/github/GithubBackend.js +70 -12
- package/dist/pipeline/src/backends/github/GithubBackend.js.map +1 -1
- package/dist/pipeline/src/backends/github/ciVariables.js +3 -1
- package/dist/pipeline/src/backends/github/ciVariables.js.map +1 -1
- package/dist/pipeline/src/backends/github/createGithubJobs.d.ts +13 -3
- package/dist/pipeline/src/backends/github/createGithubJobs.js +80 -14
- package/dist/pipeline/src/backends/github/createGithubJobs.js.map +1 -1
- package/dist/pipeline/src/backends/github/githubReleaseJobs.d.ts +2 -1
- package/dist/pipeline/src/backends/github/githubReleaseJobs.js +46 -33
- package/dist/pipeline/src/backends/github/githubReleaseJobs.js.map +1 -1
- package/dist/pipeline/src/backends/github/index.d.ts +2 -1
- package/dist/pipeline/src/backends/github/index.js +2 -1
- package/dist/pipeline/src/backends/github/index.js.map +1 -1
- package/dist/pipeline/src/backends/github/scriptFiles.d.ts +25 -0
- package/dist/pipeline/src/backends/github/scriptFiles.js +50 -0
- package/dist/pipeline/src/backends/github/scriptFiles.js.map +1 -0
- package/dist/pipeline/src/backends/gitlab/GitlabBackend.d.ts +1 -0
- package/dist/pipeline/src/backends/gitlab/GitlabBackend.js +18 -8
- package/dist/pipeline/src/backends/gitlab/GitlabBackend.js.map +1 -1
- package/dist/pipeline/src/backends/gitlab/ciVariables.js +2 -1
- package/dist/pipeline/src/backends/gitlab/ciVariables.js.map +1 -1
- package/dist/pipeline/src/backends/gitlab/createGitlabJobs.d.ts +3 -2
- package/dist/pipeline/src/backends/gitlab/createGitlabJobs.js +84 -10
- package/dist/pipeline/src/backends/gitlab/createGitlabJobs.js.map +1 -1
- package/dist/pipeline/src/backends/gitlab/createGitlabPipeline.js +1 -1
- package/dist/pipeline/src/backends/gitlab/createGitlabPipeline.js.map +1 -1
- package/dist/pipeline/src/backends/gitlab/gitlabReleaseJobs.js +2 -2
- package/dist/pipeline/src/backends/gitlab/gitlabReleaseJobs.js.map +1 -1
- package/dist/pipeline/src/backends/types.d.ts +2 -1
- package/dist/pipeline/src/bash/ciVariables.d.ts +1 -1
- package/dist/pipeline/src/bash/ciVariables.js.map +1 -1
- package/dist/pipeline/src/build/node/yarn.js +4 -1
- package/dist/pipeline/src/build/node/yarn.js.map +1 -1
- package/dist/pipeline/src/build/types.d.ts +1 -1
- package/dist/pipeline/src/config/readConfig.js +15 -4
- package/dist/pipeline/src/config/readConfig.js.map +1 -1
- package/dist/pipeline/src/constants.js +1 -1
- package/dist/pipeline/src/context/getEnvironmentVariables.d.ts +8 -0
- package/dist/pipeline/src/context/getEnvironmentVariables.js +3 -3
- package/dist/pipeline/src/context/getEnvironmentVariables.js.map +1 -1
- package/dist/pipeline/src/context/transformJobOnlyVars.js +2 -2
- package/dist/pipeline/src/context/transformJobOnlyVars.js.map +1 -1
- package/dist/pipeline/src/context/utils/envVars.d.ts +7 -0
- package/dist/pipeline/src/context/utils/envVars.js +22 -1
- package/dist/pipeline/src/context/utils/envVars.js.map +1 -1
- package/dist/pipeline/src/customImages/hash.d.ts +15 -0
- package/dist/pipeline/src/customImages/hash.js +71 -0
- package/dist/pipeline/src/customImages/hash.js.map +1 -0
- package/dist/pipeline/src/customImages/jobImagesPlan.d.ts +59 -0
- package/dist/pipeline/src/customImages/jobImagesPlan.js +172 -0
- package/dist/pipeline/src/customImages/jobImagesPlan.js.map +1 -0
- package/dist/pipeline/src/customImages/shippedImages.d.ts +28 -0
- package/dist/pipeline/src/customImages/shippedImages.js +60 -0
- package/dist/pipeline/src/customImages/shippedImages.js.map +1 -0
- package/dist/pipeline/src/deploy/cloudRun/createJobs/common.d.ts +6 -3
- package/dist/pipeline/src/deploy/cloudRun/createJobs/common.js +11 -3
- package/dist/pipeline/src/deploy/cloudRun/createJobs/common.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js +2 -2
- package/dist/pipeline/src/deploy/cloudRun/createJobs/execute/schedules.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/getCloudRunDeployScripts.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/index.d.ts +0 -1
- package/dist/pipeline/src/deploy/cloudRun/index.js +11 -13
- package/dist/pipeline/src/deploy/cloudRun/index.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/utils/database.js +4 -1
- package/dist/pipeline/src/deploy/cloudRun/utils/database.js.map +1 -1
- package/dist/pipeline/src/index.d.ts +1 -0
- package/dist/pipeline/src/index.js +1 -0
- package/dist/pipeline/src/index.js.map +1 -1
- package/dist/pipeline/src/pipeline/generatePipelineFiles.js +16 -1
- package/dist/pipeline/src/pipeline/generatePipelineFiles.js.map +1 -1
- package/dist/pipeline/src/runner/index.d.ts +20 -1
- package/dist/pipeline/src/runner/index.js +16 -3
- package/dist/pipeline/src/runner/index.js.map +1 -1
- package/dist/pipeline/src/store/index.d.ts +36 -0
- package/dist/pipeline/src/store/index.js +64 -0
- package/dist/pipeline/src/store/index.js.map +1 -0
- package/dist/pipeline/src/types/config.d.ts +36 -2
- package/dist/pipeline/src/types/config.js.map +1 -1
- package/dist/pipeline/src/types/github-types.d.ts +5 -0
- package/dist/pipeline/src/types/jobs.d.ts +10 -2
- package/dist/pipeline/src/types/jobs.js.map +1 -1
- package/dist/pipeline/src/utils/gitlab.d.ts +5 -0
- package/dist/pipeline/src/utils/gitlab.js +6 -0
- package/dist/pipeline/src/utils/gitlab.js.map +1 -1
- package/dist/pipeline/src/utils/writeFiles.d.ts +6 -0
- package/dist/pipeline/src/utils/writeFiles.js +8 -0
- package/dist/pipeline/src/utils/writeFiles.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/apps/cli/commands/project/commandConfigSecrets.ts +25 -5
- package/src/apps/cli/commands/project/setup/setupCloudRun.ts +13 -21
- package/src/commands/project/commandSecretsSyncGithub.ts +34 -11
- package/src/gcloud/getProjectNumber.ts +20 -0
- package/src/store/updateCatladderStore.ts +33 -0
- package/src/utils/github.ts +24 -7
- package/dist/cli/src/gcloud/cloudRun/getCloudRunDomainSuffix.d.ts +0 -2
- package/dist/cli/src/gcloud/cloudRun/getCloudRunDomainSuffix.js +0 -29
- package/dist/cli/src/gcloud/cloudRun/getCloudRunDomainSuffix.js.map +0 -1
- 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
|
-
|
|
135
|
-
|
|
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
|
|
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
|
-
//
|
|
40
|
-
//
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
instance.log("
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
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,
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
33
|
-
|
|
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
|
|
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
|
-
|
|
51
|
-
|
|
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":";;;AAAA,kDAI6B;AAC7B,oEAIuC;AACvC,4DAAyD;AAEzD,+
|
|
1
|
+
{"version":3,"file":"commandSecretsSyncGithub.js","sourceRoot":"","sources":["../../../../../src/commands/project/commandSecretsSyncGithub.ts"],"names":[],"mappings":"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"}
|
|
@@ -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", [
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
61
|
-
|
|
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:
|
|
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:
|
|
137
|
-
...
|
|
138
|
-
|
|
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":
|