@code-pushup/ci 0.62.0 → 0.64.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/README.md +4 -4
- package/package.json +3 -3
- package/src/lib/cli/commands/print-config.js +14 -11
- package/src/lib/cli/commands/print-config.js.map +1 -1
- package/src/lib/git.d.ts +2 -0
- package/src/lib/git.js +19 -1
- package/src/lib/git.js.map +1 -1
- package/src/lib/models.d.ts +3 -3
- package/src/lib/run-monorepo.js +2 -3
- package/src/lib/run-monorepo.js.map +1 -1
- package/src/lib/run-standalone.js +1 -2
- package/src/lib/run-standalone.js.map +1 -1
- package/src/lib/run-utils.d.ts +9 -4
- package/src/lib/run-utils.js +23 -15
- package/src/lib/run-utils.js.map +1 -1
- package/src/lib/run.js +3 -7
- package/src/lib/run.js.map +1 -1
package/README.md
CHANGED
|
@@ -64,10 +64,10 @@ If only the `head` is supplied, then Code PushUp will collect a new report and o
|
|
|
64
64
|
If triggered by a pull request, then specify the `base` ref as well.
|
|
65
65
|
This will additionally compare reports from both source and target branches and post a comment to the PR.
|
|
66
66
|
|
|
67
|
-
| Property | Required | Type
|
|
68
|
-
| :------- | :------: |
|
|
69
|
-
| `head` | yes | `{ ref: string, sha: string }` | Current branch/commit |
|
|
70
|
-
| `base` | no | `{ ref: string, sha: string }` | Branch targeted by PR |
|
|
67
|
+
| Property | Required | Type | Description |
|
|
68
|
+
| :------- | :------: | :--------------------------------------- | :-------------------- |
|
|
69
|
+
| `head` | yes | `string \| { ref: string, sha: string }` | Current branch/commit |
|
|
70
|
+
| `base` | no | `string \| { ref: string, sha: string }` | Branch targeted by PR |
|
|
71
71
|
|
|
72
72
|
### Provider API client
|
|
73
73
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-pushup/ci",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.64.0",
|
|
4
4
|
"description": "CI automation logic for Code PushUp (provider-agnostic)",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/code-pushup/cli/tree/main/packages/ci#readme",
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
},
|
|
27
27
|
"type": "module",
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@code-pushup/models": "0.
|
|
30
|
-
"@code-pushup/utils": "0.
|
|
29
|
+
"@code-pushup/models": "0.64.0",
|
|
30
|
+
"@code-pushup/utils": "0.64.0",
|
|
31
31
|
"glob": "^10.4.5",
|
|
32
32
|
"simple-git": "^3.20.0",
|
|
33
33
|
"yaml": "^2.5.1",
|
|
@@ -1,25 +1,28 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { rm } from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { executeProcess, generateRandomId, readJsonFile, stringifyError, } from '@code-pushup/utils';
|
|
2
4
|
export async function runPrintConfig({ bin, config, directory, silent, }) {
|
|
5
|
+
// random file name so command can be run in parallel
|
|
6
|
+
const outputFile = `code-pushup.${generateRandomId()}.config.json`;
|
|
7
|
+
const outputPath = path.join(directory, outputFile);
|
|
3
8
|
const { stdout } = await executeProcess({
|
|
4
9
|
command: bin,
|
|
5
|
-
args: [
|
|
10
|
+
args: [
|
|
11
|
+
...(config ? [`--config=${config}`] : []),
|
|
12
|
+
'print-config',
|
|
13
|
+
`--output=${outputFile}`,
|
|
14
|
+
],
|
|
6
15
|
cwd: directory,
|
|
7
16
|
});
|
|
8
17
|
if (!silent) {
|
|
9
18
|
console.info(stdout);
|
|
10
19
|
}
|
|
11
|
-
// workaround for 1st lines like `> nx run utils:code-pushup -- print-config`
|
|
12
|
-
const lines = stdout.split(/\r?\n/);
|
|
13
|
-
const jsonLines = lines.slice(lines.indexOf('{'), lines.indexOf('}') + 1);
|
|
14
|
-
const stdoutSanitized = jsonLines.join('\n');
|
|
15
20
|
try {
|
|
16
|
-
|
|
21
|
+
const content = await readJsonFile(outputPath);
|
|
22
|
+
await rm(outputPath);
|
|
23
|
+
return content;
|
|
17
24
|
}
|
|
18
25
|
catch (error) {
|
|
19
|
-
if (silent) {
|
|
20
|
-
console.info('Invalid output from print-config:');
|
|
21
|
-
console.info(stdout);
|
|
22
|
-
}
|
|
23
26
|
throw new Error(`Error parsing output of print-config command - ${stringifyError(error)}`);
|
|
24
27
|
}
|
|
25
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"print-config.js","sourceRoot":"","sources":["../../../../../../../packages/ci/src/lib/cli/commands/print-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"print-config.js","sourceRoot":"","sources":["../../../../../../../packages/ci/src/lib/cli/commands/print-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,EACnC,GAAG,EACH,MAAM,EACN,SAAS,EACT,MAAM,GACS;IACf,qDAAqD;IACrD,MAAM,UAAU,GAAG,eAAe,gBAAgB,EAAE,cAAc,CAAC;IACnE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAEpD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC;QACtC,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE;YACJ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,cAAc;YACd,YAAY,UAAU,EAAE;SACzB;QACD,GAAG,EAAE,SAAS;KACf,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC;QACrB,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,kDAAkD,cAAc,CAAC,KAAK,CAAC,EAAE,CAC1E,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/src/lib/git.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { GitBranch } from './models.js';
|
|
1
2
|
export type ChangedFiles = Record<string, ChangedFile>;
|
|
2
3
|
type ChangedFile = {
|
|
3
4
|
originalFile?: string;
|
|
@@ -13,6 +14,7 @@ type LineChange = {
|
|
|
13
14
|
count: number;
|
|
14
15
|
};
|
|
15
16
|
};
|
|
17
|
+
export declare function normalizeGitRef(ref: string | GitBranch, git?: import("simple-git").SimpleGit): Promise<GitBranch>;
|
|
16
18
|
export declare function listChangedFiles(refs: {
|
|
17
19
|
base: string;
|
|
18
20
|
head: string;
|
package/src/lib/git.js
CHANGED
|
@@ -1,4 +1,22 @@
|
|
|
1
|
-
import { DiffNameStatus, simpleGit } from 'simple-git';
|
|
1
|
+
import { DiffNameStatus, GitError, simpleGit } from 'simple-git';
|
|
2
|
+
export async function normalizeGitRef(ref, git = simpleGit()) {
|
|
3
|
+
if (typeof ref === 'object') {
|
|
4
|
+
return ref;
|
|
5
|
+
}
|
|
6
|
+
try {
|
|
7
|
+
const sha = await git.revparse(ref);
|
|
8
|
+
return { ref, sha };
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
if (error instanceof GitError &&
|
|
12
|
+
error.message.includes(`fatal: ambiguous argument '${ref}'`)) {
|
|
13
|
+
await git.fetch(['origin', ref, '--depth=1']);
|
|
14
|
+
const sha = await git.revparse('FETCH_HEAD');
|
|
15
|
+
return { ref, sha };
|
|
16
|
+
}
|
|
17
|
+
throw error;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
2
20
|
export async function listChangedFiles(refs, git = simpleGit()) {
|
|
3
21
|
const statuses = [
|
|
4
22
|
DiffNameStatus.ADDED,
|
package/src/lib/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../../packages/ci/src/lib/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../../../packages/ci/src/lib/git.ts"],"names":[],"mappings":"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"}
|
package/src/lib/models.d.ts
CHANGED
|
@@ -25,11 +25,11 @@ export type Options = {
|
|
|
25
25
|
*/
|
|
26
26
|
export type Settings = Required<Options>;
|
|
27
27
|
/**
|
|
28
|
-
* Branches/
|
|
28
|
+
* Branches/tags for {@link runInCI}
|
|
29
29
|
*/
|
|
30
30
|
export type GitRefs = {
|
|
31
|
-
head: GitBranch;
|
|
32
|
-
base?: GitBranch;
|
|
31
|
+
head: string | GitBranch;
|
|
32
|
+
base?: string | GitBranch;
|
|
33
33
|
};
|
|
34
34
|
/**
|
|
35
35
|
* API client for {@link runInCI} - adapter for CI provider
|
package/src/lib/run-monorepo.js
CHANGED
|
@@ -5,12 +5,11 @@ import { hasNoNullableProps, } from '@code-pushup/utils';
|
|
|
5
5
|
import { createCommandContext, persistedFilesFromConfig, runCollect, runMergeDiffs, } from './cli/index.js';
|
|
6
6
|
import { commentOnPR } from './comment.js';
|
|
7
7
|
import { listMonorepoProjects, } from './monorepo/index.js';
|
|
8
|
-
import { checkPrintConfig, compareReports,
|
|
8
|
+
import { checkPrintConfig, compareReports, loadCachedBaseReport, printPersistConfig, runInBaseBranch, runOnProject, } from './run-utils.js';
|
|
9
9
|
export async function runInMonorepoMode(env) {
|
|
10
10
|
const { api, settings } = env;
|
|
11
11
|
const { logger, directory } = settings;
|
|
12
12
|
logger.info('Running Code PushUp in monorepo mode');
|
|
13
|
-
await ensureHeadBranch(env);
|
|
14
13
|
const { projects, runManyCommand } = await listMonorepoProjects(settings);
|
|
15
14
|
const projectResults = runManyCommand
|
|
16
15
|
? await runProjectsInBulk(projects, runManyCommand, env)
|
|
@@ -49,7 +48,7 @@ async function runProjectsInBulk(projects, runManyCommand, env) {
|
|
|
49
48
|
await collectMany(runManyCommand, env);
|
|
50
49
|
const currProjectReports = await Promise.all(projects.map(async (project) => {
|
|
51
50
|
const ctx = createCommandContext(settings, project);
|
|
52
|
-
const config = await printPersistConfig(ctx
|
|
51
|
+
const config = await printPersistConfig(ctx);
|
|
53
52
|
const reports = persistedFilesFromConfig(config, ctx);
|
|
54
53
|
return { project, reports, config, ctx };
|
|
55
54
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-monorepo.js","sourceRoot":"","sources":["../../../../../packages/ci/src/lib/run-monorepo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAEL,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,oBAAoB,EACpB,wBAAwB,EACxB,UAAU,EACV,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAO3C,OAAO,EAGL,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,gBAAgB,EAChB,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"run-monorepo.js","sourceRoot":"","sources":["../../../../../packages/ci/src/lib/run-monorepo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { commentOnPR } from './comment.js';
|
|
2
|
-
import {
|
|
2
|
+
import { runOnProject } from './run-utils.js';
|
|
3
3
|
export async function runInStandaloneMode(env) {
|
|
4
4
|
const { api, settings } = env;
|
|
5
5
|
const { logger } = settings;
|
|
6
6
|
logger.info('Running Code PushUp in standalone project mode');
|
|
7
|
-
await ensureHeadBranch(env);
|
|
8
7
|
const { files, newIssues } = await runOnProject(null, env);
|
|
9
8
|
const commentMdPath = files.diff?.md;
|
|
10
9
|
if (!settings.skipComment && commentMdPath) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-standalone.js","sourceRoot":"","sources":["../../../../../packages/ci/src/lib/run-standalone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAe,
|
|
1
|
+
{"version":3,"file":"run-standalone.js","sourceRoot":"","sources":["../../../../../packages/ci/src/lib/run-standalone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAe,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAW;IAEX,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;IAE5B,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAE9D,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAE3D,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,aAAa,EAAE,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAChE,OAAO;YACL,IAAI,EAAE,YAAY;YAClB,KAAK;YACL,SAAS;YACT,SAAS;SACV,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAClD,CAAC"}
|
package/src/lib/run-utils.d.ts
CHANGED
|
@@ -2,14 +2,18 @@ import type { SimpleGit } from 'simple-git';
|
|
|
2
2
|
import type { CoreConfig } from '@code-pushup/models';
|
|
3
3
|
import { type CommandContext } from './cli/index.js';
|
|
4
4
|
import { type SourceFileIssue } from './issues.js';
|
|
5
|
-
import type { GitBranch, GitRefs, Logger, OutputFiles, ProjectRunResult, ProviderAPIClient, Settings } from './models.js';
|
|
5
|
+
import type { GitBranch, GitRefs, Logger, Options, OutputFiles, ProjectRunResult, ProviderAPIClient, Settings } from './models.js';
|
|
6
6
|
import type { ProjectConfig } from './monorepo/index.js';
|
|
7
7
|
export type RunEnv = {
|
|
8
|
-
refs:
|
|
8
|
+
refs: NormalizedGitRefs;
|
|
9
9
|
api: ProviderAPIClient;
|
|
10
10
|
settings: Settings;
|
|
11
11
|
git: SimpleGit;
|
|
12
12
|
};
|
|
13
|
+
type NormalizedGitRefs = {
|
|
14
|
+
head: GitBranch;
|
|
15
|
+
base?: GitBranch;
|
|
16
|
+
};
|
|
13
17
|
export type CompareReportsArgs = {
|
|
14
18
|
project: ProjectConfig | null;
|
|
15
19
|
env: RunEnv;
|
|
@@ -28,14 +32,14 @@ export type BaseReportArgs = {
|
|
|
28
32
|
base: GitBranch;
|
|
29
33
|
ctx: CommandContext;
|
|
30
34
|
};
|
|
35
|
+
export declare function createRunEnv(refs: GitRefs, api: ProviderAPIClient, options: Options | undefined, git: SimpleGit): Promise<RunEnv>;
|
|
31
36
|
export declare function runOnProject(project: ProjectConfig | null, env: RunEnv): Promise<ProjectRunResult>;
|
|
32
37
|
export declare function compareReports(args: CompareReportsArgs): Promise<CompareReportsResult>;
|
|
33
38
|
export declare function collectPreviousReport(args: BaseReportArgs): Promise<string | null>;
|
|
34
39
|
export declare function loadCachedBaseReport(args: BaseReportArgs): Promise<string | null>;
|
|
35
|
-
export declare function ensureHeadBranch({ refs, git }: RunEnv): Promise<void>;
|
|
36
40
|
export declare function runInBaseBranch<T>(base: GitBranch, env: RunEnv, fn: () => Promise<T>): Promise<T>;
|
|
37
41
|
export declare function checkPrintConfig(args: BaseReportArgs): Promise<Pick<CoreConfig, 'persist'> | null>;
|
|
38
|
-
export declare function printPersistConfig(ctx: CommandContext
|
|
42
|
+
export declare function printPersistConfig(ctx: CommandContext): Promise<Pick<CoreConfig, 'persist'>>;
|
|
39
43
|
export declare function findNewIssues(args: {
|
|
40
44
|
base: GitBranch;
|
|
41
45
|
currReport: string;
|
|
@@ -44,3 +48,4 @@ export declare function findNewIssues(args: {
|
|
|
44
48
|
logger: Logger;
|
|
45
49
|
git: SimpleGit;
|
|
46
50
|
}): Promise<SourceFileIssue[]>;
|
|
51
|
+
export {};
|
package/src/lib/run-utils.js
CHANGED
|
@@ -1,10 +1,26 @@
|
|
|
1
1
|
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
-
import { stringifyError } from '@code-pushup/utils';
|
|
3
|
+
import { removeUndefinedAndEmptyProps, stringifyError, } from '@code-pushup/utils';
|
|
4
4
|
import { createCommandContext, persistedFilesFromConfig, runCollect, runCompare, runPrintConfig, } from './cli/index.js';
|
|
5
5
|
import { parsePersistConfig } from './cli/persist.js';
|
|
6
|
-
import {
|
|
6
|
+
import { DEFAULT_SETTINGS } from './constants.js';
|
|
7
|
+
import { listChangedFiles, normalizeGitRef } from './git.js';
|
|
7
8
|
import { filterRelevantIssues } from './issues.js';
|
|
9
|
+
export async function createRunEnv(refs, api, options, git) {
|
|
10
|
+
const [head, base] = await Promise.all([
|
|
11
|
+
normalizeGitRef(refs.head, git),
|
|
12
|
+
refs.base && normalizeGitRef(refs.base, git),
|
|
13
|
+
]);
|
|
14
|
+
return {
|
|
15
|
+
refs: { head, ...(base && { base }) },
|
|
16
|
+
api,
|
|
17
|
+
settings: {
|
|
18
|
+
...DEFAULT_SETTINGS,
|
|
19
|
+
...(options && removeUndefinedAndEmptyProps(options)),
|
|
20
|
+
},
|
|
21
|
+
git,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
8
24
|
export async function runOnProject(project, env) {
|
|
9
25
|
const { refs: { head, base }, settings, } = env;
|
|
10
26
|
const logger = settings.logger;
|
|
@@ -12,7 +28,7 @@ export async function runOnProject(project, env) {
|
|
|
12
28
|
if (project) {
|
|
13
29
|
logger.info(`Running Code PushUp on monorepo project ${project.name}`);
|
|
14
30
|
}
|
|
15
|
-
const config = await printPersistConfig(ctx
|
|
31
|
+
const config = await printPersistConfig(ctx);
|
|
16
32
|
logger.debug(`Loaded persist config from print-config command - ${JSON.stringify(config.persist)}`);
|
|
17
33
|
await runCollect(ctx);
|
|
18
34
|
const reportFiles = persistedFilesFromConfig(config, ctx);
|
|
@@ -20,9 +36,7 @@ export async function runOnProject(project, env) {
|
|
|
20
36
|
logger.debug(`Collected current report at ${reportFiles.json}`);
|
|
21
37
|
const noDiffOutput = {
|
|
22
38
|
name: project?.name ?? '-',
|
|
23
|
-
files: {
|
|
24
|
-
report: reportFiles,
|
|
25
|
-
},
|
|
39
|
+
files: { report: reportFiles },
|
|
26
40
|
};
|
|
27
41
|
if (base == null) {
|
|
28
42
|
return noDiffOutput;
|
|
@@ -110,12 +124,6 @@ export async function loadCachedBaseReport(args) {
|
|
|
110
124
|
}
|
|
111
125
|
return null;
|
|
112
126
|
}
|
|
113
|
-
export async function ensureHeadBranch({ refs, git }) {
|
|
114
|
-
const { head } = refs;
|
|
115
|
-
if (head.sha !== (await git.revparse('HEAD'))) {
|
|
116
|
-
await git.checkout(['-f', head.ref]);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
127
|
export async function runInBaseBranch(base, env, fn) {
|
|
120
128
|
const { git, settings: { logger }, } = env;
|
|
121
129
|
await git.fetch('origin', base.ref, ['--depth=1']);
|
|
@@ -133,7 +141,7 @@ export async function checkPrintConfig(args) {
|
|
|
133
141
|
? `Executing print-config for project ${project.name}`
|
|
134
142
|
: 'Executing print-config';
|
|
135
143
|
try {
|
|
136
|
-
const config = await printPersistConfig(ctx
|
|
144
|
+
const config = await printPersistConfig(ctx);
|
|
137
145
|
logger.debug(`${operation} verified code-pushup installed in base branch ${base.ref}`);
|
|
138
146
|
return config;
|
|
139
147
|
}
|
|
@@ -143,8 +151,8 @@ export async function checkPrintConfig(args) {
|
|
|
143
151
|
return null;
|
|
144
152
|
}
|
|
145
153
|
}
|
|
146
|
-
export async function printPersistConfig(ctx
|
|
147
|
-
const json = await runPrintConfig(
|
|
154
|
+
export async function printPersistConfig(ctx) {
|
|
155
|
+
const json = await runPrintConfig(ctx);
|
|
148
156
|
return parsePersistConfig(json);
|
|
149
157
|
}
|
|
150
158
|
export async function findNewIssues(args) {
|
package/src/lib/run-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-utils.js","sourceRoot":"","sources":["../../../../../packages/ci/src/lib/run-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,
|
|
1
|
+
{"version":3,"file":"run-utils.js","sourceRoot":"","sources":["../../../../../packages/ci/src/lib/run-utils.ts"],"names":[],"mappings":"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"}
|
package/src/lib/run.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { simpleGit } from 'simple-git';
|
|
2
|
-
import { DEFAULT_SETTINGS } from './constants.js';
|
|
3
2
|
import { runInMonorepoMode } from './run-monorepo.js';
|
|
4
3
|
import { runInStandaloneMode } from './run-standalone.js';
|
|
4
|
+
import { createRunEnv } from './run-utils.js';
|
|
5
5
|
/**
|
|
6
6
|
* Runs Code PushUp in CI environment.
|
|
7
7
|
* @param refs Git branches (head and optional base)
|
|
@@ -11,12 +11,8 @@ import { runInStandaloneMode } from './run-standalone.js';
|
|
|
11
11
|
* @returns result of run (standalone or monorepo)
|
|
12
12
|
*/
|
|
13
13
|
export async function runInCI(refs, api, options, git = simpleGit()) {
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
...options,
|
|
17
|
-
};
|
|
18
|
-
const env = { refs, api, settings, git };
|
|
19
|
-
if (settings.monorepo) {
|
|
14
|
+
const env = await createRunEnv(refs, api, options, git);
|
|
15
|
+
if (env.settings.monorepo) {
|
|
20
16
|
return runInMonorepoMode(env);
|
|
21
17
|
}
|
|
22
18
|
return runInStandaloneMode(env);
|
package/src/lib/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../../packages/ci/src/lib/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../../../packages/ci/src/lib/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,SAAS,EAAE,MAAM,YAAY,CAAC;AAOvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAa,EACb,GAAsB,EACtB,OAAiB,EACjB,MAAiB,SAAS,EAAE;IAE5B,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAExD,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC1B,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;AAClC,CAAC"}
|