@soft-artel/ci 2.2.80 → 2.3.85
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/.env +21 -0
- package/.eslintcache +1 -0
- package/.eslintignore +4 -0
- package/.eslintrc +246 -0
- package/.gitlab-ci.yml +12 -0
- package/README.md +33 -0
- package/_publish.sh +25 -0
- package/package.json +2 -2
- package/src/Project.ts +286 -0
- package/src/commands/incrementBuild.ts +46 -0
- package/src/commands/k8s-build.ts +441 -0
- package/src/commands/k8s-deploy.ts +215 -0
- package/src/commands/xcode.ts +192 -0
- package/src/services/Git.ts +203 -0
- package/src/services/Gitlab.ts +129 -0
- package/src/services/Jira.ts +228 -0
- package/src/services/Reporter.ts +230 -0
- package/src/utils/Exception.ts +19 -0
- package/src/utils/Logger.ts +85 -0
- package/src/utils/Shell.ts +120 -0
- package/src/utils/helpers.ts +126 -0
- package/src/utils/prototype.ts +313 -0
- package/test.ts +0 -0
- package/tsconfig.json +25 -0
- package/Project.d.ts +0 -57
- package/Project.d.ts.map +0 -1
- package/Project.js +0 -173
- package/Project.js.map +0 -1
- package/commands/incrementBuild.d.ts +0 -3
- package/commands/incrementBuild.d.ts.map +0 -1
- package/commands/incrementBuild.js +0 -34
- package/commands/incrementBuild.js.map +0 -1
- package/commands/k8s-build.d.ts +0 -30
- package/commands/k8s-build.d.ts.map +0 -1
- package/commands/k8s-build.js +0 -290
- package/commands/k8s-build.js.map +0 -1
- package/commands/k8s-deploy.d.ts +0 -11
- package/commands/k8s-deploy.d.ts.map +0 -1
- package/commands/k8s-deploy.js +0 -145
- package/commands/k8s-deploy.js.map +0 -1
- package/commands/xcode.d.ts +0 -3
- package/commands/xcode.d.ts.map +0 -1
- package/commands/xcode.js +0 -128
- package/commands/xcode.js.map +0 -1
- package/services/Git.d.ts +0 -46
- package/services/Git.d.ts.map +0 -1
- package/services/Git.js +0 -138
- package/services/Git.js.map +0 -1
- package/services/Gitlab.d.ts +0 -14
- package/services/Gitlab.d.ts.map +0 -1
- package/services/Gitlab.js +0 -101
- package/services/Gitlab.js.map +0 -1
- package/services/Jira.d.ts +0 -32
- package/services/Jira.d.ts.map +0 -1
- package/services/Jira.js +0 -136
- package/services/Jira.js.map +0 -1
- package/services/Reporter.d.ts +0 -43
- package/services/Reporter.d.ts.map +0 -1
- package/services/Reporter.js +0 -134
- package/services/Reporter.js.map +0 -1
- package/utils/Exception.d.ts +0 -5
- package/utils/Exception.d.ts.map +0 -1
- package/utils/Exception.js +0 -14
- package/utils/Exception.js.map +0 -1
- package/utils/Logger.d.ts +0 -11
- package/utils/Logger.d.ts.map +0 -1
- package/utils/Logger.js +0 -62
- package/utils/Logger.js.map +0 -1
- package/utils/Shell.d.ts +0 -39
- package/utils/Shell.d.ts.map +0 -1
- package/utils/Shell.js +0 -89
- package/utils/Shell.js.map +0 -1
- package/utils/helpers.d.ts +0 -16
- package/utils/helpers.d.ts.map +0 -1
- package/utils/helpers.js +0 -109
- package/utils/helpers.js.map +0 -1
- package/utils/prototype.d.ts +0 -9
- package/utils/prototype.d.ts.map +0 -1
- package/utils/prototype.js +0 -186
- package/utils/prototype.js.map +0 -1
package/commands/xcode.js
DELETED
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
"use strict";
|
|
3
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
-
};
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const commander_1 = require("commander");
|
|
8
|
-
const Shell_1 = __importDefault(require("../utils/Shell"));
|
|
9
|
-
const Git_1 = __importDefault(require("../services/Git"));
|
|
10
|
-
const Jira_1 = require("../services/Jira");
|
|
11
|
-
const Logger_1 = require("../utils/Logger");
|
|
12
|
-
const helpers_1 = require("../utils/helpers");
|
|
13
|
-
const Project_1 = require("../Project");
|
|
14
|
-
const ENV = process.env;
|
|
15
|
-
const runHandler = async (prj, reporter, opts, config) => {
|
|
16
|
-
const changedFiles = await Git_1.default.getDiffFiles();
|
|
17
|
-
if (changedFiles.length === 0 && !opts.sudo) {
|
|
18
|
-
Logger_1.log.info('SKIP BUILD: NO changedFiles found in repo');
|
|
19
|
-
process.exit(0);
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
Logger_1.log.info('START BUILD!');
|
|
23
|
-
Logger_1.log.info(changedFiles.join('\n'));
|
|
24
|
-
}
|
|
25
|
-
const secrets = JSON.parse(ENV.SECRETS);
|
|
26
|
-
const scheme = opts.scheme || 'iOS';
|
|
27
|
-
const bundleID = await Shell_1.default.exec(`xcodebuild -showBuildSettings -scheme ${scheme} | grep PRODUCT_BUNDLE_IDENTIFIER | tr -d 'PRODUCT_BUNDLE_IDENTIFIER = '`, { silent: true });
|
|
28
|
-
reporter.$message_footer_changes_from = prj.version;
|
|
29
|
-
reporter.$message_footer_changes_to = ENV.CI_COMMIT_REF_NAME || 'dev';
|
|
30
|
-
prj.incrementBuild();
|
|
31
|
-
await reporter.startBuild();
|
|
32
|
-
await fastlane('increment_build_number', { build_number: prj.build });
|
|
33
|
-
Logger_1.log.info('unlock_keychain');
|
|
34
|
-
await fastlane('unlock_keychain', {
|
|
35
|
-
path: (0, helpers_1.resolvePath)(secrets.keychain.path),
|
|
36
|
-
password: secrets.keychain.password || opts.sudo,
|
|
37
|
-
set_default: true,
|
|
38
|
-
}, { silent: true });
|
|
39
|
-
await reporter.append(` + Build & archive xcode project.`);
|
|
40
|
-
await fastlane('build_app', {
|
|
41
|
-
scheme,
|
|
42
|
-
configuration: 'Release',
|
|
43
|
-
silent: false,
|
|
44
|
-
export_method: 'app-store',
|
|
45
|
-
xcargs: '-allowProvisioningUpdates',
|
|
46
|
-
include_bitcode: true,
|
|
47
|
-
}, { verbose: '' });
|
|
48
|
-
const release = await Jira_1.Jira.resolve(prj);
|
|
49
|
-
await reporter.append(` + Resolved tasks:${release.tasks.length}, bugs: ${release.bugs.length}`);
|
|
50
|
-
await Git_1.default.setOrigin();
|
|
51
|
-
await Shell_1.default.exec(`git reset --hard HEAD`, { silent: false });
|
|
52
|
-
await prj.updateChangeLog(release.changelog);
|
|
53
|
-
await Shell_1.default.exec(`git commit -a -m "v${prj.version}"`, { ignoreError: true, silent: false });
|
|
54
|
-
await Git_1.default.push(ENV.CI_COMMIT_REF_NAME || 'dev');
|
|
55
|
-
await reporter.append(` + Update <a href="${prj.url}/-/blob/${ENV.CI_COMMIT_REF_NAME || 'dev'}/CHANGELOG.md">changelog</a>.`);
|
|
56
|
-
await reporter.append(` + Git tag new version`);
|
|
57
|
-
await Git_1.default.makeTag(prj.version);
|
|
58
|
-
await reporter.append(` + Save build: ${prj.build} to GitLab`);
|
|
59
|
-
await prj.saveGitLabBuild();
|
|
60
|
-
await reporter.appendDeploy('testfight');
|
|
61
|
-
await reporter.append(` + Upload to Testfilght.`);
|
|
62
|
-
await fastlane('upload_to_testflight', {
|
|
63
|
-
api_key_path: ENV.TESTFLIGHT || `${prj.rootPath}/testflight.json`,
|
|
64
|
-
changelog: (0, helpers_1.stripTags)(release.changelog),
|
|
65
|
-
}, { attempts: 3, verbose: '' });
|
|
66
|
-
if (secrets.bugsnag[scheme]) {
|
|
67
|
-
await reporter.append(` + Download DSYMs.`);
|
|
68
|
-
await (0, helpers_1.asyncSleep)(60);
|
|
69
|
-
await fastlane('download_dsyms', {
|
|
70
|
-
api_key_path: ENV.TESTFLIGHT || `${prj.rootPath}/testflight.json`,
|
|
71
|
-
version: prj.shortVersion,
|
|
72
|
-
build_number: prj.build,
|
|
73
|
-
app_identifier: bundleID,
|
|
74
|
-
wait_for_dsym_processing: true,
|
|
75
|
-
output_directory: prj.rootPath,
|
|
76
|
-
}, {
|
|
77
|
-
attempts: 10, sleep: 120, silent: false, ignoreError: true,
|
|
78
|
-
});
|
|
79
|
-
await reporter.append(` + Upload DSYMs to BugSnag.`);
|
|
80
|
-
const cmd = `bugsnag-dsym-upload --api-key ${secrets.bugsnag[scheme]} --project-root ./ ${prj.rootPath}/${bundleID}-${prj.shortVersion}-${prj.build}.dSYM.zip`;
|
|
81
|
-
await Shell_1.default.execRepeat(cmd, 10, 120, { silent: false, ignoreError: true });
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
await reporter.append(` - Upload DSYMs to BugSnag. [SKIPED]`);
|
|
85
|
-
}
|
|
86
|
-
await reporter.append(` + Resolved tasks:${release.tasks.length}, bugs: ${release.bugs.length}`);
|
|
87
|
-
const bugsDeployed = await Jira_1.Jira.moveBugsAsDeployed(release.bugs);
|
|
88
|
-
if (bugsDeployed.length > 0) {
|
|
89
|
-
await reporter.append(` + Deployed ${bugsDeployed.length} bugs.`);
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
await reporter.append(` - Deploy bugs. [SKIPED]`);
|
|
93
|
-
}
|
|
94
|
-
await reporter.append(` + Save ${prj.stage} -> ${prj.version} to GitLab`);
|
|
95
|
-
await prj.saveGitLabStagesVersions();
|
|
96
|
-
await reporter.succses(release);
|
|
97
|
-
};
|
|
98
|
-
async function main() {
|
|
99
|
-
commander_1.program
|
|
100
|
-
.option('--path <xcode project dir>', 'Path to Xcode project directory [default - current]')
|
|
101
|
-
.option('--scheme <Build scheme>', 'Xcode scheme to build and deploy')
|
|
102
|
-
.option('--sudo <password>', 'Sudo password for local run build')
|
|
103
|
-
.option('--debug', 'Output extra debugging info')
|
|
104
|
-
.option('--debug', 'Output extra debugging info')
|
|
105
|
-
.action(async () => { await Project_1.Project.run(commander_1.program.opts() || {}, runHandler, ['SECRETS']); });
|
|
106
|
-
await commander_1.program.parseAsync(process.argv);
|
|
107
|
-
}
|
|
108
|
-
main();
|
|
109
|
-
function fastlane(action, pars = {}, { silent = false, attempts = 1, sleep = 60, ignoreError = false, verbose = '--verbose' } = {}) {
|
|
110
|
-
let params = '';
|
|
111
|
-
for (const key of Object.keys(pars)) {
|
|
112
|
-
switch (typeof pars[key]) {
|
|
113
|
-
case 'object':
|
|
114
|
-
params += ` ${key}:"${JSON.stringify(pars[key])}"`;
|
|
115
|
-
break;
|
|
116
|
-
case 'string':
|
|
117
|
-
params += ` ${key}:"${pars[key]}"`;
|
|
118
|
-
break;
|
|
119
|
-
case 'number':
|
|
120
|
-
params += ` ${key}:${pars[key]}`;
|
|
121
|
-
break;
|
|
122
|
-
default:
|
|
123
|
-
params += ` ${key} `;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
return Shell_1.default.execRepeat(`fastlane run ${action} ${params} ${verbose}`, attempts, sleep, { silent, ignoreError });
|
|
127
|
-
}
|
|
128
|
-
//# sourceMappingURL=xcode.js.map
|
package/commands/xcode.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xcode.js","sourceRoot":"","sources":["../../src/commands/xcode.ts"],"names":[],"mappings":"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"}
|
package/services/Git.d.ts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
declare class Commit {
|
|
2
|
-
date: Date;
|
|
3
|
-
sha: string;
|
|
4
|
-
msg: string;
|
|
5
|
-
name: string;
|
|
6
|
-
email: string;
|
|
7
|
-
constructor(row: string, delimetr: string);
|
|
8
|
-
get issuesKeys(): RegExpMatchArray | never[];
|
|
9
|
-
}
|
|
10
|
-
declare function setOrigin(opts?: {
|
|
11
|
-
url?: string;
|
|
12
|
-
jobId?: number;
|
|
13
|
-
}): Promise<void>;
|
|
14
|
-
declare function push(branch: string): Promise<void>;
|
|
15
|
-
declare function makeTag(version: string): Promise<void>;
|
|
16
|
-
declare function getTags(limit?: number, mask?: RegExp): Promise<string[]>;
|
|
17
|
-
declare function getBrunch(): Promise<string | undefined>;
|
|
18
|
-
declare function lastTag(): Promise<string | undefined>;
|
|
19
|
-
declare function existTag(version: string): Promise<string | undefined>;
|
|
20
|
-
declare function getCommitsAndIssues(opt: {
|
|
21
|
-
onlyJira?: boolean;
|
|
22
|
-
limit?: number;
|
|
23
|
-
fromTag: string;
|
|
24
|
-
toTag: string;
|
|
25
|
-
}): Promise<{
|
|
26
|
-
commits: Record<string, any>;
|
|
27
|
-
issues: Record<string, any>;
|
|
28
|
-
}>;
|
|
29
|
-
declare function getDiffFiles(fromTag?: string, opt?: {
|
|
30
|
-
silent: boolean;
|
|
31
|
-
ignoreError: boolean;
|
|
32
|
-
}): Promise<string[]>;
|
|
33
|
-
declare const _default: {
|
|
34
|
-
Commit: typeof Commit;
|
|
35
|
-
setOrigin: typeof setOrigin;
|
|
36
|
-
push: typeof push;
|
|
37
|
-
makeTag: typeof makeTag;
|
|
38
|
-
lastTag: typeof lastTag;
|
|
39
|
-
existTag: typeof existTag;
|
|
40
|
-
getTags: typeof getTags;
|
|
41
|
-
getBrunch: typeof getBrunch;
|
|
42
|
-
getCommitsAndIssues: typeof getCommitsAndIssues;
|
|
43
|
-
getDiffFiles: typeof getDiffFiles;
|
|
44
|
-
};
|
|
45
|
-
export default _default;
|
|
46
|
-
//# sourceMappingURL=Git.d.ts.map
|
package/services/Git.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Git.d.ts","sourceRoot":"","sources":["../../src/services/Git.ts"],"names":[],"mappings":"AAMA,cAAM,MAAM;IAEX,IAAI,OAAgD;IACpD,GAAG,SAA6B;IAChC,GAAG,SAAiC;IACpC,IAAI,SAA+B;IACnC,KAAK,SAA8B;gBAEvB,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAczC,IAAI,UAAU,+BAGb;CAED;AAKD,iBAAe,SAAS,CAAC,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAM,iBAYlE;AAID,iBAAe,IAAI,CAAC,MAAM,EAAE,MAAM,iBAGjC;AAID,iBAAe,OAAO,CAAC,OAAO,EAAE,MAAM,iBAIrC;AAID,iBAAe,OAAO,CAAC,KAAK,SAAO,EAAE,IAAI,SAA0B,qBAuBlE;AAID,iBAAe,SAAS,IAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAGrD;AAMD,iBAAe,OAAO,gCAMrB;AAID,iBAAe,QAAQ,CAAC,OAAO,EAAE,MAAM,+BAQtC;AAID,iBAAe,mBAAmB,CAAC,GAAG,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC;aAKnF,OAAO,MAAM,EAAE,GAAG,CAAC;YAAU,OAAO,MAAM,EAAE,GAAG,CAAC;GAuCzE;AAID,iBAAe,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG;;;CAAsC,qBAYtF;;;;;;;;;;;;;AAID,wBAWE"}
|
package/services/Git.js
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const Shell_1 = __importDefault(require("../utils/Shell"));
|
|
7
|
-
const ENV = process.env;
|
|
8
|
-
class Commit {
|
|
9
|
-
date = new Date(ENV.CI_COMMIT_TIMESTAMP || 0 * 1);
|
|
10
|
-
sha = ENV.CI_COMMIT_SHA || '';
|
|
11
|
-
msg = ENV.CI_COMMIT_MESSAGE || '';
|
|
12
|
-
name = ENV.GITLAB_USER_NAME || '';
|
|
13
|
-
email = ENV.CI_COMMIT_AUTHOR || '';
|
|
14
|
-
constructor(row, delimetr) {
|
|
15
|
-
if (!row || !delimetr) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
const cols = row.split(delimetr);
|
|
19
|
-
this.date = new Date(Date.parse(cols[3]));
|
|
20
|
-
this.sha = cols[0];
|
|
21
|
-
this.email = cols[2];
|
|
22
|
-
this.name = cols[1];
|
|
23
|
-
this.msg = cols[4];
|
|
24
|
-
}
|
|
25
|
-
get issuesKeys() {
|
|
26
|
-
const matchedIssues = this.msg.match(/[A-Z0-9]+-\d+/g);
|
|
27
|
-
return !matchedIssues || matchedIssues.length === 0 ? [] : matchedIssues;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
async function setOrigin(opts = {}) {
|
|
31
|
-
if (!opts.jobId && !ENV.CI_JOB_ID) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
let url = opts.url || ENV.CI_PROJECT_URL || '';
|
|
35
|
-
url = url.replace('https://', `https://gitlab:${ENV.GITLAB_PASS}@`);
|
|
36
|
-
await Shell_1.default.exec(`git remote set-url --push origin ${url}.git`);
|
|
37
|
-
await Shell_1.default.exec(`git remote set-url origin ${url}.git`);
|
|
38
|
-
}
|
|
39
|
-
async function push(branch) {
|
|
40
|
-
await Shell_1.default.exec(`git pull --ff origin ${branch}`);
|
|
41
|
-
await Shell_1.default.execRepeat(`git push origin HEAD:${branch}`);
|
|
42
|
-
}
|
|
43
|
-
async function makeTag(version) {
|
|
44
|
-
const tag = `v${version}`;
|
|
45
|
-
await Shell_1.default.exec(`git tag --force "${tag}"`);
|
|
46
|
-
await Shell_1.default.execRepeat(`git push --force origin ${tag}`);
|
|
47
|
-
}
|
|
48
|
-
async function getTags(limit = 1000, mask = /v[\d]+\.[\d]+\.[\d]+$/) {
|
|
49
|
-
await Shell_1.default.exec(`git fetch -t`, { ignoreError: true });
|
|
50
|
-
const tagsStr = await Shell_1.default.exec('git tag | sort --version-sort', { silent: true, ignoreError: true });
|
|
51
|
-
let list = tagsStr.split('\n').filter((f) => f.length > 2);
|
|
52
|
-
list = list.length > 0 ? list.reverse() : [tagsStr];
|
|
53
|
-
const tags = [];
|
|
54
|
-
let i = 1;
|
|
55
|
-
for (const tag of list) {
|
|
56
|
-
if (tag === '' || mask && (mask.exec(tag)) === null) {
|
|
57
|
-
continue;
|
|
58
|
-
}
|
|
59
|
-
tags.push(tag);
|
|
60
|
-
i++;
|
|
61
|
-
if (i >= limit) {
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return tags;
|
|
66
|
-
}
|
|
67
|
-
async function getBrunch() {
|
|
68
|
-
const brunch = await Shell_1.default.exec(`git rev-parse --abbrev-ref HEAD`, { ignoreError: true });
|
|
69
|
-
return brunch.length > 3 ? brunch : undefined;
|
|
70
|
-
}
|
|
71
|
-
async function lastTag() {
|
|
72
|
-
const list = await getTags(1);
|
|
73
|
-
if (list && Array.isArray(list) && list.length > 0) {
|
|
74
|
-
return list[0];
|
|
75
|
-
}
|
|
76
|
-
return undefined;
|
|
77
|
-
}
|
|
78
|
-
async function existTag(version) {
|
|
79
|
-
const list = await getTags(100);
|
|
80
|
-
if (list && Array.isArray(list) && list.includes(`v${version}`)) {
|
|
81
|
-
return `v${version}`;
|
|
82
|
-
}
|
|
83
|
-
return undefined;
|
|
84
|
-
}
|
|
85
|
-
async function getCommitsAndIssues(opt) {
|
|
86
|
-
opt.onlyJira = opt.onlyJira ?? true;
|
|
87
|
-
opt.limit = opt.limit ?? 10;
|
|
88
|
-
const result = { commits: {}, issues: {} };
|
|
89
|
-
const d = '#!|!#';
|
|
90
|
-
const from = opt.fromTag;
|
|
91
|
-
const to = opt.toTag || '';
|
|
92
|
-
const par = `${from}..${from !== '' && to === '' ? 'HEAD' : to}`;
|
|
93
|
-
const commits = await Shell_1.default.exec(`git log ${par !== '..' ? par : ''} --pretty='format:%H${d}%cN${d}%cE${d}%ci${d}%s' --max-count=${opt.limit}`, { silent: true });
|
|
94
|
-
if (!commits || commits.includes(d) === false) {
|
|
95
|
-
return result;
|
|
96
|
-
}
|
|
97
|
-
let arr = commits.split('\n');
|
|
98
|
-
if (arr.length === 0) {
|
|
99
|
-
arr = [commits];
|
|
100
|
-
}
|
|
101
|
-
for (const row of arr) {
|
|
102
|
-
const commit = new Commit(row, d);
|
|
103
|
-
const issuesKeys = commit.issuesKeys;
|
|
104
|
-
if (opt.onlyJira && issuesKeys.length === 0) {
|
|
105
|
-
continue;
|
|
106
|
-
}
|
|
107
|
-
result.commits[commit.sha] = commit;
|
|
108
|
-
for (const key of issuesKeys) {
|
|
109
|
-
const issue = result.issues[key] || [];
|
|
110
|
-
issue.push(commit.sha);
|
|
111
|
-
result.issues[key] = issue;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
return result;
|
|
115
|
-
}
|
|
116
|
-
async function getDiffFiles(fromTag, opt = { silent: true, ignoreError: true }) {
|
|
117
|
-
const from = fromTag || await lastTag();
|
|
118
|
-
const diffCmd = from && from !== '' ? `git diff --name-only HEAD ${from}` : "find . -not -path '*/_*' -not -path '*/\.*' -not -path '*/node_modules*' -type d -maxdepth 2";
|
|
119
|
-
const diffStr = await Shell_1.default.exec(diffCmd, opt) || '';
|
|
120
|
-
let arr = diffStr.split('\n');
|
|
121
|
-
if (arr.length === 0) {
|
|
122
|
-
arr = [diffStr];
|
|
123
|
-
}
|
|
124
|
-
return arr.filter((f) => f !== '').sort();
|
|
125
|
-
}
|
|
126
|
-
exports.default = {
|
|
127
|
-
Commit,
|
|
128
|
-
setOrigin,
|
|
129
|
-
push,
|
|
130
|
-
makeTag,
|
|
131
|
-
lastTag,
|
|
132
|
-
existTag,
|
|
133
|
-
getTags,
|
|
134
|
-
getBrunch,
|
|
135
|
-
getCommitsAndIssues,
|
|
136
|
-
getDiffFiles,
|
|
137
|
-
};
|
|
138
|
-
//# sourceMappingURL=Git.js.map
|
package/services/Git.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Git.js","sourceRoot":"","sources":["../../src/services/Git.ts"],"names":[],"mappings":"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"}
|
package/services/Gitlab.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Project } from '../Project';
|
|
2
|
-
declare class Gitlab {
|
|
3
|
-
privateToken: string;
|
|
4
|
-
configVarName: string;
|
|
5
|
-
projectId: number;
|
|
6
|
-
url: string;
|
|
7
|
-
constructor(privateToken: string, projectId: number, configGitlabUrl?: string, configVarName?: string);
|
|
8
|
-
downloadConfig(): Promise<any>;
|
|
9
|
-
uploadConfig(config: Record<string, any>): Promise<void>;
|
|
10
|
-
saveVariable(prj: Project, name: string, value: any): Promise<any>;
|
|
11
|
-
}
|
|
12
|
-
declare const _default: Gitlab;
|
|
13
|
-
export default _default;
|
|
14
|
-
//# sourceMappingURL=Gitlab.d.ts.map
|
package/services/Gitlab.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Gitlab.d.ts","sourceRoot":"","sources":["../../src/services/Gitlab.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAKrC,cAAM,MAAM;IAEX,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;gBAEA,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,SAAkC,EAAE,aAAa,SAAW;IAQ1H,cAAc;IA8Bd,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAexC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;CAuCzD;;AAoBD,wBAA4F"}
|
package/services/Gitlab.js
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const axios_1 = __importDefault(require("axios"));
|
|
7
|
-
const Exception_1 = require("../utils/Exception");
|
|
8
|
-
const helpers_1 = require("../utils/helpers");
|
|
9
|
-
const Logger_1 = require("../utils/Logger");
|
|
10
|
-
class Gitlab {
|
|
11
|
-
privateToken;
|
|
12
|
-
configVarName;
|
|
13
|
-
projectId;
|
|
14
|
-
url;
|
|
15
|
-
constructor(privateToken, projectId, configGitlabUrl = 'https://gitlab.soft-artel.com', configVarName = 'CONFIG') {
|
|
16
|
-
this.privateToken = privateToken;
|
|
17
|
-
this.projectId = projectId;
|
|
18
|
-
this.configVarName = configVarName;
|
|
19
|
-
this.url = `${configGitlabUrl}/api/v4/projects/${this.projectId}/variables/${configVarName}`;
|
|
20
|
-
}
|
|
21
|
-
async downloadConfig() {
|
|
22
|
-
try {
|
|
23
|
-
const resp = await (0, axios_1.default)({
|
|
24
|
-
method: 'GET', timeout: 600, url: this.url, headers: { 'PRIVATE-TOKEN': this.privateToken },
|
|
25
|
-
});
|
|
26
|
-
return JSON.parse(resp.data.value);
|
|
27
|
-
}
|
|
28
|
-
catch (e) {
|
|
29
|
-
const errTitle = `CONFIG ERR: GitLab project [id:${this.projectId}] has not`;
|
|
30
|
-
if (e.response && (e.response.status === 401 || e.response.status === 403)) {
|
|
31
|
-
const err = new Exception_1.Exception(`${errTitle} access, HTTP-401`);
|
|
32
|
-
err.params = e.config;
|
|
33
|
-
throw err;
|
|
34
|
-
}
|
|
35
|
-
if (e.response && e.response.status === 404) {
|
|
36
|
-
const err = new Exception_1.Exception(`${errTitle} CI VARIABLE: '${this.configVarName}'`);
|
|
37
|
-
err.params = e.config;
|
|
38
|
-
throw err;
|
|
39
|
-
}
|
|
40
|
-
e.request = '...';
|
|
41
|
-
e.connection = '...';
|
|
42
|
-
throw e;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
async uploadConfig(config) {
|
|
46
|
-
const resp = await (0, axios_1.default)({
|
|
47
|
-
method: 'PUT', timeout: 600, url: this.url,
|
|
48
|
-
headers: { 'PRIVATE-TOKEN': this.privateToken },
|
|
49
|
-
data: { value: JSON.stringify(config, null, 3) },
|
|
50
|
-
});
|
|
51
|
-
if (resp.status !== 200) {
|
|
52
|
-
console.error(resp);
|
|
53
|
-
throw new Error('CONFIG ERR: GitLab update VAR - HTTP' + resp.status);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
async saveVariable(prj, name, value) {
|
|
57
|
-
try {
|
|
58
|
-
const resp = await (0, axios_1.default)({
|
|
59
|
-
method: 'PUT',
|
|
60
|
-
timeout: 6000,
|
|
61
|
-
url: `${ENV.CONFIG_GITLAB_URL || 'https://gitlab.soft-artel.com'}/api/v4/projects/${prj.id}/variables/${name}`,
|
|
62
|
-
headers: { 'PRIVATE-TOKEN': ENV.GITLAB_API_TOKEN || '' },
|
|
63
|
-
data: {
|
|
64
|
-
value,
|
|
65
|
-
},
|
|
66
|
-
});
|
|
67
|
-
Logger_1.log.dbg(resp.data);
|
|
68
|
-
return JSON.parse(resp.data.value);
|
|
69
|
-
}
|
|
70
|
-
catch (e) {
|
|
71
|
-
const errTitle = `GitLab project [${prj.id}] has not`;
|
|
72
|
-
if (e.response && (e.response.status === 401 || e.response.status === 403)) {
|
|
73
|
-
const err = new Exception_1.Exception(`${errTitle} access, HTTP-401`);
|
|
74
|
-
err.params = e.config;
|
|
75
|
-
throw err;
|
|
76
|
-
}
|
|
77
|
-
if (e.response && e.response.status === 404) {
|
|
78
|
-
const err = new Exception_1.Exception(`${errTitle} CI VARIABLE: ${name}`);
|
|
79
|
-
err.params = e.config;
|
|
80
|
-
throw err;
|
|
81
|
-
}
|
|
82
|
-
e.request = '...';
|
|
83
|
-
e.connection = '...';
|
|
84
|
-
throw e;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
const ENV = process.env;
|
|
89
|
-
const privateToken = ENV.GITLAB_PASS;
|
|
90
|
-
const projectId = ENV.CI_PROJECT_ID;
|
|
91
|
-
(0, helpers_1.checkVarsExisting)([{
|
|
92
|
-
field: privateToken,
|
|
93
|
-
exceptionMessage: 'GITLAB_PASS must be provided',
|
|
94
|
-
}, {
|
|
95
|
-
field: projectId,
|
|
96
|
-
exceptionMessage: 'CI_PROJECT_ID must be provided',
|
|
97
|
-
}]);
|
|
98
|
-
const configGitlabUrl = ENV.CONFIG_GITLAB_URL;
|
|
99
|
-
const configVarName = ENV.CONFIG_VAR_NAME;
|
|
100
|
-
exports.default = new Gitlab(privateToken, Number(projectId), configGitlabUrl, configVarName);
|
|
101
|
-
//# sourceMappingURL=Gitlab.js.map
|
package/services/Gitlab.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Gitlab.js","sourceRoot":"","sources":["../../src/services/Gitlab.ts"],"names":[],"mappings":"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"}
|
package/services/Jira.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { Project } from '../Project';
|
|
2
|
-
export interface ReleaseInfo {
|
|
3
|
-
commits: Record<string, any>[];
|
|
4
|
-
components: string[];
|
|
5
|
-
bugs: Issue[];
|
|
6
|
-
tasks: Issue[];
|
|
7
|
-
changelog: string;
|
|
8
|
-
}
|
|
9
|
-
declare function resolve(prj: Project, head?: boolean): Promise<ReleaseInfo>;
|
|
10
|
-
export declare class Issue {
|
|
11
|
-
key: string;
|
|
12
|
-
updated: Date;
|
|
13
|
-
type: string;
|
|
14
|
-
status: string;
|
|
15
|
-
summary: string;
|
|
16
|
-
assignee: {
|
|
17
|
-
name: string;
|
|
18
|
-
email: string;
|
|
19
|
-
login: string;
|
|
20
|
-
};
|
|
21
|
-
components: string[];
|
|
22
|
-
constructor(fields: Record<string, any>);
|
|
23
|
-
}
|
|
24
|
-
declare function moveBugsAsDeployed(bugs: {
|
|
25
|
-
key: string;
|
|
26
|
-
}[]): Promise<any>;
|
|
27
|
-
export declare const Jira: {
|
|
28
|
-
resolve: typeof resolve;
|
|
29
|
-
moveBugsAsDeployed: typeof moveBugsAsDeployed;
|
|
30
|
-
};
|
|
31
|
-
export {};
|
|
32
|
-
//# sourceMappingURL=Jira.d.ts.map
|
package/services/Jira.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Jira.d.ts","sourceRoot":"","sources":["../../src/services/Jira.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAOrC,MAAM,WAAW,WAAW;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CAClB;AAID,iBAAe,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,UAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAyGtE;AAID,qBAAa,KAAK;IAEjB,GAAG,SAAM;IACT,OAAO,OAAgB;IAEvB,IAAI,SAAM;IACV,MAAM,SAAM;IACZ,OAAO,SAAM;IACb,QAAQ;;;;MAAsC;IAC9C,UAAU,EAAE,MAAM,EAAE,CAAM;gBAEd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAavC;AAID,iBAAe,kBAAkB,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,gBAuBxD;AAKD,eAAO,MAAM,IAAI;;;CAGhB,CAAC"}
|
package/services/Jira.js
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Jira = exports.Issue = void 0;
|
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
const Logger_1 = require("../utils/Logger");
|
|
9
|
-
const helpers_1 = require("../utils/helpers");
|
|
10
|
-
const Git_1 = __importDefault(require("./Git"));
|
|
11
|
-
const ENV = process.env;
|
|
12
|
-
const RELEASE_BO_URL = ENV.RELEASE_BO_URL || 'https://bo.soft-artel.com/ci/jira';
|
|
13
|
-
const RELEASE_JIRA_URL = ENV.RELEASE_JIRA_URL || 'https://jira.soft-artel.com';
|
|
14
|
-
async function resolve(prj, head = true) {
|
|
15
|
-
const release = {
|
|
16
|
-
commits: [], components: [], bugs: [], tasks: [], changelog: 'No issues found in git commits!',
|
|
17
|
-
};
|
|
18
|
-
const fromTag = prj.prevVersion ? await Git_1.default.existTag(prj.prevVersion) : await Git_1.default.lastTag();
|
|
19
|
-
const toTag = head ? undefined : `v${prj.version}`;
|
|
20
|
-
const gitLog = await Git_1.default.getCommitsAndIssues({
|
|
21
|
-
fromTag: fromTag ?? '', toTag: toTag ?? '', onlyJira: true, limit: 1000,
|
|
22
|
-
});
|
|
23
|
-
release.commits = Object.values(gitLog.commits);
|
|
24
|
-
const issuesKeys = Object.keys(gitLog.issues);
|
|
25
|
-
if (issuesKeys.length === 0) {
|
|
26
|
-
Logger_1.log.info('No issues found in git log!');
|
|
27
|
-
return release;
|
|
28
|
-
}
|
|
29
|
-
try {
|
|
30
|
-
const resp = await (0, axios_1.default)({
|
|
31
|
-
method: 'POST',
|
|
32
|
-
url: `${RELEASE_BO_URL}/resolve`,
|
|
33
|
-
headers: { 'PRIVATE-TOKEN': ENV.RELEASE_BO_TOKEN || ENV.GITLAB_PASS || '' },
|
|
34
|
-
data: { issues: issuesKeys },
|
|
35
|
-
});
|
|
36
|
-
if (resp?.data?.data?.bugs && Array.isArray(resp.data.data.bugs)) {
|
|
37
|
-
for (const fields of resp.data.data.bugs) {
|
|
38
|
-
const issue = new Issue(fields);
|
|
39
|
-
if (issue.key !== '') {
|
|
40
|
-
release.bugs.push(issue);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
if (resp?.data?.data?.tasks && Array.isArray(resp.data.data.tasks)) {
|
|
45
|
-
for (const fields of resp.data.data.tasks) {
|
|
46
|
-
const issue = new Issue(fields);
|
|
47
|
-
if (issue.key !== '') {
|
|
48
|
-
release.tasks.push(issue);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
if (resp?.data?.data?.components) {
|
|
53
|
-
release.components = Object.values(resp.data.data.components).sort();
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
catch (err) {
|
|
57
|
-
err.request = '...';
|
|
58
|
-
err.connection = '...';
|
|
59
|
-
err.message = 'JIRA RESOLVE ERR: ' + err.message;
|
|
60
|
-
throw err;
|
|
61
|
-
}
|
|
62
|
-
Logger_1.log.info(`\n\n===============\nRELEASE: ${prj.group}/${prj.name}/v${prj.version}`, '', `pev:${fromTag}`);
|
|
63
|
-
let msg = '';
|
|
64
|
-
if (release.components.length > 0) {
|
|
65
|
-
msg += '<b>Components:</b>\n';
|
|
66
|
-
for (const comp of release.components) {
|
|
67
|
-
msg += `- ${comp}\n`;
|
|
68
|
-
}
|
|
69
|
-
msg += '\n';
|
|
70
|
-
}
|
|
71
|
-
if (release.tasks.length > 0) {
|
|
72
|
-
msg += '<b>Done:</b>\n';
|
|
73
|
-
for (const issue of release.tasks) {
|
|
74
|
-
msg += `- 🛠 <b><a href="${RELEASE_JIRA_URL}/browse/${issue.key}">${issue.key}</a></b>: ${issue.summary}\n`;
|
|
75
|
-
}
|
|
76
|
-
msg += '\n';
|
|
77
|
-
}
|
|
78
|
-
if (release.bugs.length > 0) {
|
|
79
|
-
msg += '<b>BugFixes:</b>\n';
|
|
80
|
-
for (const issue of release.bugs) {
|
|
81
|
-
msg += `- 🐞 <b><a href="${RELEASE_JIRA_URL}/browse/${issue.key}">${issue.key}</a></b>: ${issue.summary}\n`;
|
|
82
|
-
}
|
|
83
|
-
msg += '\n';
|
|
84
|
-
}
|
|
85
|
-
release.changelog = msg;
|
|
86
|
-
Logger_1.log.info('changelog', msg);
|
|
87
|
-
Logger_1.log.info('text', (0, helpers_1.stripTags)(msg));
|
|
88
|
-
return release;
|
|
89
|
-
}
|
|
90
|
-
class Issue {
|
|
91
|
-
key = '';
|
|
92
|
-
updated = new Date();
|
|
93
|
-
type = '';
|
|
94
|
-
status = '';
|
|
95
|
-
summary = '';
|
|
96
|
-
assignee = { name: '', email: '', login: '' };
|
|
97
|
-
components = [];
|
|
98
|
-
constructor(fields) {
|
|
99
|
-
this.key = fields.key;
|
|
100
|
-
this.updated = new Date(Date.parse(fields.updated));
|
|
101
|
-
this.type = fields.type;
|
|
102
|
-
this.status = fields.status;
|
|
103
|
-
this.summary = (0, helpers_1.htmlEntities)(fields.summary);
|
|
104
|
-
if (fields.assignee && typeof fields.assignee === 'object') {
|
|
105
|
-
this.assignee.name = fields.assignee.name;
|
|
106
|
-
this.assignee.email = fields.assignee.email;
|
|
107
|
-
this.assignee.login = fields.assignee.login;
|
|
108
|
-
}
|
|
109
|
-
this.components = Array.isArray(fields.components) ? fields.components : [];
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
exports.Issue = Issue;
|
|
113
|
-
async function moveBugsAsDeployed(bugs) {
|
|
114
|
-
const issuesKeys = [];
|
|
115
|
-
for (const bug of bugs) {
|
|
116
|
-
issuesKeys.push(bug.key);
|
|
117
|
-
}
|
|
118
|
-
if (issuesKeys.length === 0) {
|
|
119
|
-
return [];
|
|
120
|
-
}
|
|
121
|
-
const resp = await (0, axios_1.default)({
|
|
122
|
-
method: 'POST',
|
|
123
|
-
url: `${RELEASE_BO_URL}/deployed`,
|
|
124
|
-
headers: { 'PRIVATE-TOKEN': ENV.RELEASE_BO_TOKEN || ENV.GITLAB_PASS || '' },
|
|
125
|
-
data: { issues: issuesKeys },
|
|
126
|
-
});
|
|
127
|
-
if (resp?.data?.data?.deployed && Array.isArray(resp.data.data.deployed)) {
|
|
128
|
-
return resp.data.data.deployed;
|
|
129
|
-
}
|
|
130
|
-
return [];
|
|
131
|
-
}
|
|
132
|
-
exports.Jira = {
|
|
133
|
-
resolve,
|
|
134
|
-
moveBugsAsDeployed,
|
|
135
|
-
};
|
|
136
|
-
//# sourceMappingURL=Jira.js.map
|
package/services/Jira.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Jira.js","sourceRoot":"","sources":["../../src/services/Jira.ts"],"names":[],"mappings":"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"}
|