@payfit/nx-core 5.5.1 → 5.6.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.
- package/dist/src/executors/preview-deploy/executor.js +2 -19
- package/dist/src/executors/preview-deploy/executor.js.map +1 -1
- package/dist/src/executors/preview-labels/executor.d.ts +7 -0
- package/dist/src/executors/preview-labels/executor.js +88 -0
- package/dist/src/executors/preview-labels/executor.js.map +1 -0
- package/dist/src/executors/preview-labels/schema.json +17 -0
- package/dist/src/index.js +8 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/utils/common/environment.d.ts +1 -0
- package/dist/src/utils/common/environment.js +11 -0
- package/dist/src/utils/common/environment.js.map +1 -0
- package/dist/src/utils/common/octokit.d.ts +2 -0
- package/dist/src/utils/common/octokit.js +22 -0
- package/dist/src/utils/common/octokit.js.map +1 -0
- package/executors.json +5 -0
- package/package.json +1 -1
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const auth_app_1 = require("@octokit/auth-app");
|
|
4
|
-
const rest_1 = require("@octokit/rest");
|
|
5
3
|
const yaml = require("yaml");
|
|
6
4
|
const logger_1 = require("../../utils/common/logger");
|
|
5
|
+
const octokit_1 = require("../../utils/common/octokit");
|
|
7
6
|
const argocdOverride_1 = require("./argocdOverride");
|
|
8
7
|
const kargoPolicy_1 = require("./kargoPolicy");
|
|
9
8
|
function readFileYamlContent(file) {
|
|
@@ -27,25 +26,9 @@ function readFileYamlContent(file) {
|
|
|
27
26
|
throw new Error(`Failed to parse YAML file: ${error}`);
|
|
28
27
|
}
|
|
29
28
|
}
|
|
30
|
-
function getEnvVar(name) {
|
|
31
|
-
const value = process.env[name];
|
|
32
|
-
if (!value) {
|
|
33
|
-
throw new Error(`Missing env var ${name}`);
|
|
34
|
-
}
|
|
35
|
-
return value;
|
|
36
|
-
}
|
|
37
29
|
const runExecutor = async (options) => {
|
|
38
30
|
logger_1.consola.box(`Start preview deploy switch for ${options.targetAppName} to target branch ${options.targetBranchName} on the ${options.targetEnv} env`);
|
|
39
|
-
const octokit =
|
|
40
|
-
? new rest_1.Octokit({ auth: process.env.GITHUB_TOKEN })
|
|
41
|
-
: new rest_1.Octokit({
|
|
42
|
-
authStrategy: auth_app_1.createAppAuth,
|
|
43
|
-
auth: {
|
|
44
|
-
appId: getEnvVar('GITHUB_APP_ID'),
|
|
45
|
-
privateKey: getEnvVar('GITHUB_PRIVATE_KEY'),
|
|
46
|
-
installationId: getEnvVar('GITHUB_INSTALLATION_ID'),
|
|
47
|
-
},
|
|
48
|
-
});
|
|
31
|
+
const octokit = (0, octokit_1.OctokitAuth)();
|
|
49
32
|
const argocdOverridePath = `apps/${options.targetAppName}/${options.targetEnv}/.argocd-override.yaml`;
|
|
50
33
|
const kargoPolicyPath = `.kargo/policy.yaml`;
|
|
51
34
|
const message = `chore(${options.targetAppName}): switch deployment branch to ${options.targetBranchName} on ${options.targetEnv}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/preview-deploy/executor.ts"],"names":[],"mappings":";;AACA,
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/preview-deploy/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ExecutorContext } from '@nx/devkit';
|
|
2
|
+
import { Octokit } from '@octokit/rest';
|
|
3
|
+
import { PreviewLabelsExecutorOptions, PreviewLabelsExecutorSchema } from './schema';
|
|
4
|
+
export declare function getDeterministicColorFromName(name: string): string;
|
|
5
|
+
export declare function managePreviewLabels(projectList: string[], octokit: Octokit, owner: string, repo: string): Promise<void>;
|
|
6
|
+
declare const runExecutor: (options: PreviewLabelsExecutorOptions, context: ExecutorContext) => Promise<PreviewLabelsExecutorSchema>;
|
|
7
|
+
export default runExecutor;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDeterministicColorFromName = getDeterministicColorFromName;
|
|
4
|
+
exports.managePreviewLabels = managePreviewLabels;
|
|
5
|
+
const github_1 = require("../../utils/common/github");
|
|
6
|
+
const logger_1 = require("../../utils/common/logger");
|
|
7
|
+
const octokit_1 = require("../../utils/common/octokit");
|
|
8
|
+
function getDeterministicColorFromName(name) {
|
|
9
|
+
let hash = 0;
|
|
10
|
+
for (let i = 0; i < name.length; i++) {
|
|
11
|
+
hash = name.charCodeAt(i) + ((hash << 5) - hash);
|
|
12
|
+
}
|
|
13
|
+
const hex = (hash >>> 0).toString(16).slice(-6).padStart(6, '0');
|
|
14
|
+
const r = parseInt(hex.slice(0, 2), 16);
|
|
15
|
+
const g = parseInt(hex.slice(2, 4), 16);
|
|
16
|
+
const b = parseInt(hex.slice(4, 6), 16);
|
|
17
|
+
return hex;
|
|
18
|
+
}
|
|
19
|
+
function normalizeProjectName(name) {
|
|
20
|
+
return name.replace(/^@payfit\//, '');
|
|
21
|
+
}
|
|
22
|
+
async function managePreviewLabels(projectList, octokit, owner, repo) {
|
|
23
|
+
// Get existing labels from the repository
|
|
24
|
+
const { data: existingLabels } = await octokit.rest.issues.listLabelsForRepo({
|
|
25
|
+
owner,
|
|
26
|
+
repo,
|
|
27
|
+
});
|
|
28
|
+
// Create a set of expected labels based on the application list
|
|
29
|
+
const expectedLabels = new Set(projectList.map(app => `:eyes:/${app}`));
|
|
30
|
+
// Find existing preview labels (labels that start with :eyes:)
|
|
31
|
+
const existingPreviewLabels = existingLabels.filter(label => label.name.startsWith(':eyes:/'));
|
|
32
|
+
// Add missing labels
|
|
33
|
+
for (const expectedLabel of expectedLabels) {
|
|
34
|
+
const exists = existingPreviewLabels.some(label => label.name === expectedLabel);
|
|
35
|
+
if (!exists) {
|
|
36
|
+
logger_1.consola.info(`Adding label: ${expectedLabel}`);
|
|
37
|
+
const appName = expectedLabel.replace(':eyes:/', '');
|
|
38
|
+
const color = getDeterministicColorFromName(appName);
|
|
39
|
+
await octokit.rest.issues.createLabel({
|
|
40
|
+
owner,
|
|
41
|
+
repo,
|
|
42
|
+
name: expectedLabel,
|
|
43
|
+
color,
|
|
44
|
+
description: `Preview label for ${expectedLabel.replace(':eyes:/', '')} application`,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// Remove labels that are no longer needed
|
|
49
|
+
for (const existingLabel of existingPreviewLabels) {
|
|
50
|
+
if (!expectedLabels.has(existingLabel.name)) {
|
|
51
|
+
logger_1.consola.info(`Removing label: ${existingLabel.name}`);
|
|
52
|
+
await octokit.rest.issues.deleteLabel({
|
|
53
|
+
owner,
|
|
54
|
+
repo,
|
|
55
|
+
name: existingLabel.name,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const runExecutor = async (options, context) => {
|
|
61
|
+
try {
|
|
62
|
+
logger_1.consola.info('Starting preview labels management');
|
|
63
|
+
// Filter out applications that don't exist in the workspace
|
|
64
|
+
const projectsMap = context.projectsConfigurations?.projects || {};
|
|
65
|
+
const normalizedProjectNames = new Set(Object.keys(projectsMap).map(normalizeProjectName));
|
|
66
|
+
const validApplicationNames = options.projectList.filter(appName => {
|
|
67
|
+
const exists = normalizedProjectNames.has(appName);
|
|
68
|
+
if (!exists) {
|
|
69
|
+
logger_1.consola.warn(`Project '${appName}' not found in workspace, skipping label creation`);
|
|
70
|
+
}
|
|
71
|
+
return exists;
|
|
72
|
+
});
|
|
73
|
+
const octokit = (0, octokit_1.OctokitAuth)();
|
|
74
|
+
await managePreviewLabels(validApplicationNames, octokit, 'PayFit', await (0, github_1.getGitRepositoryName)());
|
|
75
|
+
logger_1.consola.success('Preview labels management completed successfully');
|
|
76
|
+
return {
|
|
77
|
+
success: true,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
catch (error) {
|
|
81
|
+
logger_1.consola.error('Preview labels management failed:', error);
|
|
82
|
+
return {
|
|
83
|
+
success: false,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
exports.default = runExecutor;
|
|
88
|
+
//# sourceMappingURL=executor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../../../src/executors/preview-labels/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"version": 2,
|
|
4
|
+
"title": "Preview labels",
|
|
5
|
+
"description": "Use it to setup application labels from GHA",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"projectList": {
|
|
9
|
+
"type": "array",
|
|
10
|
+
"items": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
},
|
|
13
|
+
"description": "List of applications to setup labels for"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"required": ["projectList"]
|
|
17
|
+
}
|
package/dist/src/index.js
CHANGED
|
@@ -108,6 +108,14 @@ async function createNodesInternal(configFilePath, options, _context) {
|
|
|
108
108
|
description: previewDeployConfig.description,
|
|
109
109
|
},
|
|
110
110
|
};
|
|
111
|
+
const previewLabelsConfig = (0, devkit_1.readJsonFile)((0, path_1.join)(__dirname, '/executors/preview-labels/schema.json'));
|
|
112
|
+
targets['preview-labels'] = {
|
|
113
|
+
executor: '@payfit/nx-core:preview-labels',
|
|
114
|
+
cache: false,
|
|
115
|
+
metadata: {
|
|
116
|
+
description: previewLabelsConfig.description,
|
|
117
|
+
},
|
|
118
|
+
};
|
|
111
119
|
const releaseConfig = (0, devkit_1.readJsonFile)((0, path_1.join)(__dirname, '/executors/release/schema.json'));
|
|
112
120
|
targets['release'] = {
|
|
113
121
|
executor: '@payfit/nx-core:release',
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AA8BA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getEnvVar(name: string): string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEnvVar = getEnvVar;
|
|
4
|
+
function getEnvVar(name) {
|
|
5
|
+
const value = process.env[name];
|
|
6
|
+
if (!value) {
|
|
7
|
+
throw new Error(`Missing env var ${name}`);
|
|
8
|
+
}
|
|
9
|
+
return value;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../../src/utils/common/environment.ts"],"names":[],"mappings":";;AAAA,8BAMC;AAND,SAAgB,SAAS,CAAC,IAAY;IACpC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAA;IAC5C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OctokitAuth = OctokitAuth;
|
|
4
|
+
const auth_app_1 = require("@octokit/auth-app");
|
|
5
|
+
const rest_1 = require("@octokit/rest");
|
|
6
|
+
const environment_1 = require("./environment");
|
|
7
|
+
function OctokitAuth() {
|
|
8
|
+
if (process.env.GITHUB_TOKEN) {
|
|
9
|
+
return new rest_1.Octokit({ auth: process.env.GITHUB_TOKEN });
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
return new rest_1.Octokit({
|
|
13
|
+
authStrategy: auth_app_1.createAppAuth,
|
|
14
|
+
auth: {
|
|
15
|
+
appId: (0, environment_1.getEnvVar)('GITHUB_APP_ID'),
|
|
16
|
+
privateKey: (0, environment_1.getEnvVar)('GITHUB_PRIVATE_KEY'),
|
|
17
|
+
installationId: (0, environment_1.getEnvVar)('GITHUB_INSTALLATION_ID'),
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=octokit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"octokit.js","sourceRoot":"","sources":["../../../../src/utils/common/octokit.ts"],"names":[],"mappings":";;AAKA,kCAaC;AAlBD,gDAAiD;AACjD,wCAAuC;AAEvC,+CAAyC;AAEzC,SAAgB,WAAW;IACzB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC7B,OAAO,IAAI,cAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAA;IACxD,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,cAAO,CAAC;YACjB,YAAY,EAAE,wBAAa;YAC3B,IAAI,EAAE;gBACJ,KAAK,EAAE,IAAA,uBAAS,EAAC,eAAe,CAAC;gBACjC,UAAU,EAAE,IAAA,uBAAS,EAAC,oBAAoB,CAAC;gBAC3C,cAAc,EAAE,IAAA,uBAAS,EAAC,wBAAwB,CAAC;aACpD;SACF,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}
|
package/executors.json
CHANGED
|
@@ -19,6 +19,11 @@
|
|
|
19
19
|
"implementation": "./dist/src/executors/preview-deploy/executor",
|
|
20
20
|
"schema": "./dist/src/executors/preview-deploy/schema.json",
|
|
21
21
|
"description": "Custom preview-deploy executor"
|
|
22
|
+
},
|
|
23
|
+
"preview-labels": {
|
|
24
|
+
"implementation": "./dist/src/executors/preview-labels/executor",
|
|
25
|
+
"schema": "./dist/src/executors/preview-labels/schema.json",
|
|
26
|
+
"description": "Manage GitHub preview labels for applications"
|
|
22
27
|
}
|
|
23
28
|
}
|
|
24
29
|
}
|