github-issue-tower-defence-management 1.196.0 → 1.197.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/CHANGELOG.md +14 -0
- package/README.md +1 -0
- package/bin/adapter/entry-points/cli/index.js +66 -0
- package/bin/adapter/entry-points/cli/index.js.map +1 -1
- package/bin/adapter/entry-points/cli/projectConfig.js +6 -0
- package/bin/adapter/entry-points/cli/projectConfig.js.map +1 -1
- package/bin/domain/usecases/CliErrorReportUseCase.js +50 -0
- package/bin/domain/usecases/CliErrorReportUseCase.js.map +1 -0
- package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js +3 -8
- package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js.map +1 -1
- package/bin/domain/usecases/RevertOrphanedPreparationUseCase.js +2 -3
- package/bin/domain/usecases/RevertOrphanedPreparationUseCase.js.map +1 -1
- package/bin/domain/usecases/awaitingOwnerApprovalMessage.js +1 -1
- package/bin/domain/usecases/awaitingOwnerApprovalMessage.js.map +1 -1
- package/package.json +1 -1
- package/src/adapter/entry-points/cli/index.ts +85 -0
- package/src/adapter/entry-points/cli/projectConfig.ts +14 -0
- package/src/domain/usecases/CliErrorReportUseCase.test.ts +151 -0
- package/src/domain/usecases/CliErrorReportUseCase.ts +72 -0
- package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.test.ts +11 -18
- package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts +3 -15
- package/src/domain/usecases/RevertOrphanedPreparationUseCase.test.ts +2 -2
- package/src/domain/usecases/RevertOrphanedPreparationUseCase.ts +2 -7
- package/src/domain/usecases/awaitingOwnerApprovalMessage.ts +1 -1
- package/types/adapter/entry-points/cli/index.d.ts.map +1 -1
- package/types/adapter/entry-points/cli/projectConfig.d.ts +1 -0
- package/types/adapter/entry-points/cli/projectConfig.d.ts.map +1 -1
- package/types/domain/usecases/CliErrorReportUseCase.d.ts +14 -0
- package/types/domain/usecases/CliErrorReportUseCase.d.ts.map +1 -0
- package/types/domain/usecases/NotifyFinishedIssuePreparationUseCase.d.ts.map +1 -1
- package/types/domain/usecases/RevertOrphanedPreparationUseCase.d.ts.map +1 -1
- package/types/domain/usecases/awaitingOwnerApprovalMessage.d.ts +1 -1
- package/types/domain/usecases/awaitingOwnerApprovalMessage.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RevertOrphanedPreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/RevertOrphanedPreparationUseCase.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RevertOrphanedPreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/RevertOrphanedPreparationUseCase.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AWAITING_OWNER_APPROVAL_MESSAGE = exports.AWAITING_OWNER_APPROVAL_MESSAGE_HEAD = void 0;
|
|
4
4
|
exports.AWAITING_OWNER_APPROVAL_MESSAGE_HEAD = 'Auto Status Check: AWAITING_OWNER_APPROVAL';
|
|
5
5
|
exports.AWAITING_OWNER_APPROVAL_MESSAGE = `${exports.AWAITING_OWNER_APPROVAL_MESSAGE_HEAD}
|
|
6
|
-
The last report declared that this task is waiting for owner approval. Moving it to
|
|
6
|
+
The last report declared that this task is waiting for owner approval. Moving it to Awaiting Quality Check so that it waits for the owner's judgement instead of being dispatched again.`;
|
|
7
7
|
//# sourceMappingURL=awaitingOwnerApprovalMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awaitingOwnerApprovalMessage.js","sourceRoot":"","sources":["../../../src/domain/usecases/awaitingOwnerApprovalMessage.ts"],"names":[],"mappings":";;;AAAa,QAAA,oCAAoC,GAC/C,4CAA4C,CAAC;AAElC,QAAA,+BAA+B,GAAG,GAAG,4CAAoC;
|
|
1
|
+
{"version":3,"file":"awaitingOwnerApprovalMessage.js","sourceRoot":"","sources":["../../../src/domain/usecases/awaitingOwnerApprovalMessage.ts"],"names":[],"mappings":";;;AAAa,QAAA,oCAAoC,GAC/C,4CAA4C,CAAC;AAElC,QAAA,+BAA+B,GAAG,GAAG,4CAAoC;yLACmG,CAAC"}
|
package/package.json
CHANGED
|
@@ -13,6 +13,7 @@ export {
|
|
|
13
13
|
import * as path from 'path';
|
|
14
14
|
import type { IssueRepository } from '../../../domain/usecases/adapter-interfaces/IssueRepository';
|
|
15
15
|
import { CheckIssueReviewReadinessUseCase } from '../../../domain/usecases/CheckIssueReviewReadinessUseCase';
|
|
16
|
+
import { CliErrorReportUseCase } from '../../../domain/usecases/CliErrorReportUseCase';
|
|
16
17
|
import { assertDashboardDisplayLabelsUnique } from '../../../domain/usecases/dashboard/DashboardProjectCode';
|
|
17
18
|
import { isOwnerCallCalledAtValid } from '../../../domain/usecases/intmux/OwnerCallFile';
|
|
18
19
|
import { NotifyFinishedIssuePreparationUseCase } from '../../../domain/usecases/NotifyFinishedIssuePreparationUseCase';
|
|
@@ -362,6 +363,11 @@ program
|
|
|
362
363
|
readmeOverrides,
|
|
363
364
|
);
|
|
364
365
|
|
|
366
|
+
if (config.errorReportingRepository) {
|
|
367
|
+
process.env.TDPM_ERROR_REPORT_REPOSITORY =
|
|
368
|
+
config.errorReportingRepository;
|
|
369
|
+
}
|
|
370
|
+
|
|
365
371
|
const projectUrl = config.projectUrl;
|
|
366
372
|
const defaultAgentName = config.defaultAgentName;
|
|
367
373
|
const manager = config.manager;
|
|
@@ -605,6 +611,11 @@ program
|
|
|
605
611
|
readmeOverrides,
|
|
606
612
|
);
|
|
607
613
|
|
|
614
|
+
if (config.errorReportingRepository) {
|
|
615
|
+
process.env.TDPM_ERROR_REPORT_REPOSITORY =
|
|
616
|
+
config.errorReportingRepository;
|
|
617
|
+
}
|
|
618
|
+
|
|
608
619
|
const projectUrl = config.projectUrl;
|
|
609
620
|
|
|
610
621
|
if (!projectUrl) {
|
|
@@ -750,6 +761,11 @@ program
|
|
|
750
761
|
readmeOverrides,
|
|
751
762
|
);
|
|
752
763
|
|
|
764
|
+
if (config.errorReportingRepository) {
|
|
765
|
+
process.env.TDPM_ERROR_REPORT_REPOSITORY =
|
|
766
|
+
config.errorReportingRepository;
|
|
767
|
+
}
|
|
768
|
+
|
|
753
769
|
const projectName = config.projectName ?? 'default';
|
|
754
770
|
const localStorageRepository = new LocalStorageRepository();
|
|
755
771
|
const cachePath = projectCacheDirectory(projectName);
|
|
@@ -1350,13 +1366,82 @@ export const reportFatalErrorAndExit = (error: unknown): void => {
|
|
|
1350
1366
|
process.exit(1);
|
|
1351
1367
|
};
|
|
1352
1368
|
|
|
1369
|
+
const buildCliErrorReporter = (): {
|
|
1370
|
+
useCase: CliErrorReportUseCase;
|
|
1371
|
+
owner: string;
|
|
1372
|
+
repo: string;
|
|
1373
|
+
} | null => {
|
|
1374
|
+
const token = process.env.GH_TOKEN;
|
|
1375
|
+
const targetRepo = process.env.TDPM_ERROR_REPORT_REPOSITORY;
|
|
1376
|
+
if (!token || !targetRepo) {
|
|
1377
|
+
return null;
|
|
1378
|
+
}
|
|
1379
|
+
const slashIndex = targetRepo.indexOf('/');
|
|
1380
|
+
if (slashIndex <= 0 || slashIndex === targetRepo.length - 1) {
|
|
1381
|
+
return null;
|
|
1382
|
+
}
|
|
1383
|
+
const owner = targetRepo.slice(0, slashIndex);
|
|
1384
|
+
const repo = targetRepo.slice(slashIndex + 1);
|
|
1385
|
+
const localStorageRepository = new LocalStorageRepository();
|
|
1386
|
+
const githubRepositoryParams = buildGithubRepositoryParams(
|
|
1387
|
+
localStorageRepository,
|
|
1388
|
+
token,
|
|
1389
|
+
);
|
|
1390
|
+
const apiV3IssueRepository = new ApiV3IssueRepository(
|
|
1391
|
+
...githubRepositoryParams,
|
|
1392
|
+
);
|
|
1393
|
+
const restIssueRepository = new RestIssueRepository(
|
|
1394
|
+
...githubRepositoryParams,
|
|
1395
|
+
);
|
|
1396
|
+
const useCase = new CliErrorReportUseCase({
|
|
1397
|
+
searchIssue: apiV3IssueRepository.searchIssue.bind(apiV3IssueRepository),
|
|
1398
|
+
createNewIssue:
|
|
1399
|
+
restIssueRepository.createNewIssue.bind(restIssueRepository),
|
|
1400
|
+
createCommentByUrl: async (issueOrPrUrl: string, commentBody: string) => {
|
|
1401
|
+
await restIssueRepository.createComment(issueOrPrUrl, commentBody);
|
|
1402
|
+
},
|
|
1403
|
+
});
|
|
1404
|
+
return { useCase, owner, repo };
|
|
1405
|
+
};
|
|
1406
|
+
|
|
1353
1407
|
export const runCliProgram = async (
|
|
1354
1408
|
argv: string[],
|
|
1355
1409
|
handleFatalError: (error: unknown) => void,
|
|
1356
1410
|
): Promise<void> => {
|
|
1411
|
+
let reported = false;
|
|
1412
|
+
|
|
1413
|
+
const safeReport = async (error: unknown): Promise<void> => {
|
|
1414
|
+
if (reported) {
|
|
1415
|
+
return;
|
|
1416
|
+
}
|
|
1417
|
+
reported = true;
|
|
1418
|
+
const reporter = buildCliErrorReporter();
|
|
1419
|
+
if (!reporter) {
|
|
1420
|
+
return;
|
|
1421
|
+
}
|
|
1422
|
+
await reporter.useCase.run({
|
|
1423
|
+
error,
|
|
1424
|
+
owner: reporter.owner,
|
|
1425
|
+
repo: reporter.repo,
|
|
1426
|
+
commandLine: argv.join(' '),
|
|
1427
|
+
});
|
|
1428
|
+
};
|
|
1429
|
+
|
|
1430
|
+
process.on('uncaughtException', (error: Error) => {
|
|
1431
|
+
void safeReport(error).then(() => {
|
|
1432
|
+
reportFatalErrorAndExit(error);
|
|
1433
|
+
});
|
|
1434
|
+
});
|
|
1435
|
+
process.on('unhandledRejection', (reason: unknown) => {
|
|
1436
|
+
void safeReport(reason).then(() => {
|
|
1437
|
+
reportFatalErrorAndExit(reason);
|
|
1438
|
+
});
|
|
1439
|
+
});
|
|
1440
|
+
|
|
1357
1441
|
try {
|
|
1358
1442
|
await program.parseAsync(argv);
|
|
1359
1443
|
} catch (error) {
|
|
1444
|
+
await safeReport(error);
|
|
1360
1445
|
handleFatalError(error);
|
|
1361
1446
|
}
|
|
1362
1447
|
};
|
|
@@ -33,6 +33,7 @@ export type ConfigFile = {
|
|
|
33
33
|
consoleGithubTokenFileDir?: string;
|
|
34
34
|
disks?: DiskConfig[];
|
|
35
35
|
ownerApprovalTimeoutCycles?: number;
|
|
36
|
+
errorReportingRepository?: string;
|
|
36
37
|
};
|
|
37
38
|
|
|
38
39
|
export type DiskConfig = {
|
|
@@ -139,6 +140,7 @@ const knownProjectReadmeConfigKeys = [
|
|
|
139
140
|
'labelsNotRequiringPullRequest',
|
|
140
141
|
'changeTargetPathAliases',
|
|
141
142
|
'consoleDataOutputDir',
|
|
143
|
+
'errorReportingRepository',
|
|
142
144
|
] as const;
|
|
143
145
|
|
|
144
146
|
export const loadConfigFile = (configFilePath: string): ConfigFile => {
|
|
@@ -211,6 +213,10 @@ export const loadConfigFile = (configFilePath: string): ConfigFile => {
|
|
|
211
213
|
parsed,
|
|
212
214
|
'ownerApprovalTimeoutCycles',
|
|
213
215
|
),
|
|
216
|
+
errorReportingRepository: getStringValue(
|
|
217
|
+
parsed,
|
|
218
|
+
'errorReportingRepository',
|
|
219
|
+
),
|
|
214
220
|
};
|
|
215
221
|
} catch (error) {
|
|
216
222
|
const message = error instanceof Error ? error.message : String(error);
|
|
@@ -297,6 +303,10 @@ export const parseProjectReadmeConfig = (
|
|
|
297
303
|
'changeTargetPathAliases',
|
|
298
304
|
),
|
|
299
305
|
consoleDataOutputDir: getStringValue(parsed, 'consoleDataOutputDir'),
|
|
306
|
+
errorReportingRepository: getStringValue(
|
|
307
|
+
parsed,
|
|
308
|
+
'errorReportingRepository',
|
|
309
|
+
),
|
|
300
310
|
};
|
|
301
311
|
} catch {
|
|
302
312
|
console.warn('Failed to parse YAML from project README config section');
|
|
@@ -403,6 +413,10 @@ export const mergeConfigs = (
|
|
|
403
413
|
ownerApprovalTimeoutCycles:
|
|
404
414
|
cliOverrides.ownerApprovalTimeoutCycles ??
|
|
405
415
|
configFile.ownerApprovalTimeoutCycles,
|
|
416
|
+
errorReportingRepository:
|
|
417
|
+
readmeOverrides.errorReportingRepository ??
|
|
418
|
+
cliOverrides.errorReportingRepository ??
|
|
419
|
+
configFile.errorReportingRepository,
|
|
406
420
|
});
|
|
407
421
|
|
|
408
422
|
type GraphqlProjectV2ReadmeResponse = {
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { mock } from 'jest-mock-extended';
|
|
2
|
+
import { IssueRepository } from './adapter-interfaces/IssueRepository';
|
|
3
|
+
import { CliErrorReportUseCase } from './CliErrorReportUseCase';
|
|
4
|
+
|
|
5
|
+
describe('CliErrorReportUseCase', () => {
|
|
6
|
+
jest.setTimeout(30 * 1000);
|
|
7
|
+
|
|
8
|
+
const mockIssueRepository = mock<IssueRepository>();
|
|
9
|
+
const useCase = new CliErrorReportUseCase(mockIssueRepository);
|
|
10
|
+
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
jest.clearAllMocks();
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
const owner = 'test-owner';
|
|
16
|
+
const repo = 'test-repo';
|
|
17
|
+
const commandLine =
|
|
18
|
+
'github-issue-tower-defence-management startDaemon --configFilePath config.yml';
|
|
19
|
+
|
|
20
|
+
describe('run', () => {
|
|
21
|
+
it('should call createNewIssue when searchIssue returns no matching open issue', async () => {
|
|
22
|
+
const error = new Error('something went wrong');
|
|
23
|
+
error.name = 'TypeError';
|
|
24
|
+
mockIssueRepository.searchIssue.mockResolvedValue([]);
|
|
25
|
+
mockIssueRepository.createNewIssue.mockResolvedValue(42);
|
|
26
|
+
|
|
27
|
+
await useCase.run({ error, owner, repo, commandLine });
|
|
28
|
+
|
|
29
|
+
expect(mockIssueRepository.searchIssue).toHaveBeenCalledWith({
|
|
30
|
+
owner,
|
|
31
|
+
repositoryName: repo,
|
|
32
|
+
type: 'issue',
|
|
33
|
+
state: 'open',
|
|
34
|
+
title: 'CLI error: TypeError: something went wrong',
|
|
35
|
+
});
|
|
36
|
+
expect(mockIssueRepository.createNewIssue).toHaveBeenCalledWith(
|
|
37
|
+
owner,
|
|
38
|
+
repo,
|
|
39
|
+
'CLI error: TypeError: something went wrong',
|
|
40
|
+
expect.stringContaining('something went wrong'),
|
|
41
|
+
[],
|
|
42
|
+
[],
|
|
43
|
+
);
|
|
44
|
+
expect(mockIssueRepository.createCommentByUrl).not.toHaveBeenCalled();
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
it('should call createCommentByUrl when searchIssue returns a result whose title matches exactly', async () => {
|
|
48
|
+
const error = new Error('something went wrong');
|
|
49
|
+
error.name = 'TypeError';
|
|
50
|
+
const title = 'CLI error: TypeError: something went wrong';
|
|
51
|
+
const existingIssueUrl =
|
|
52
|
+
'https://github.com/test-owner/test-repo/issues/10';
|
|
53
|
+
mockIssueRepository.searchIssue.mockResolvedValue([
|
|
54
|
+
{ url: existingIssueUrl, title, number: '10' },
|
|
55
|
+
]);
|
|
56
|
+
mockIssueRepository.createCommentByUrl.mockResolvedValue(undefined);
|
|
57
|
+
|
|
58
|
+
await useCase.run({ error, owner, repo, commandLine });
|
|
59
|
+
|
|
60
|
+
expect(mockIssueRepository.createCommentByUrl).toHaveBeenCalledWith(
|
|
61
|
+
existingIssueUrl,
|
|
62
|
+
expect.stringContaining('something went wrong'),
|
|
63
|
+
);
|
|
64
|
+
expect(mockIssueRepository.createNewIssue).not.toHaveBeenCalled();
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
it('should not call createCommentByUrl when searchIssue returns a result with a different title', async () => {
|
|
68
|
+
const error = new Error('something went wrong');
|
|
69
|
+
error.name = 'TypeError';
|
|
70
|
+
mockIssueRepository.searchIssue.mockResolvedValue([
|
|
71
|
+
{
|
|
72
|
+
url: 'https://github.com/test-owner/test-repo/issues/9',
|
|
73
|
+
title: 'CLI error: TypeError: something else entirely',
|
|
74
|
+
number: '9',
|
|
75
|
+
},
|
|
76
|
+
]);
|
|
77
|
+
mockIssueRepository.createNewIssue.mockResolvedValue(11);
|
|
78
|
+
|
|
79
|
+
await useCase.run({ error, owner, repo, commandLine });
|
|
80
|
+
|
|
81
|
+
expect(mockIssueRepository.createNewIssue).toHaveBeenCalled();
|
|
82
|
+
expect(mockIssueRepository.createCommentByUrl).not.toHaveBeenCalled();
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
it('should truncate long messages to 80 characters in the title', async () => {
|
|
86
|
+
const longMessage = 'a'.repeat(120);
|
|
87
|
+
const error = new Error(longMessage);
|
|
88
|
+
mockIssueRepository.searchIssue.mockResolvedValue([]);
|
|
89
|
+
mockIssueRepository.createNewIssue.mockResolvedValue(1);
|
|
90
|
+
|
|
91
|
+
await useCase.run({ error, owner, repo, commandLine });
|
|
92
|
+
|
|
93
|
+
const expectedTitle = `CLI error: Error: ${'a'.repeat(80)}`;
|
|
94
|
+
expect(mockIssueRepository.searchIssue).toHaveBeenCalledWith(
|
|
95
|
+
expect.objectContaining({ title: expectedTitle }),
|
|
96
|
+
);
|
|
97
|
+
expect(mockIssueRepository.createNewIssue).toHaveBeenCalledWith(
|
|
98
|
+
owner,
|
|
99
|
+
repo,
|
|
100
|
+
expectedTitle,
|
|
101
|
+
expect.any(String),
|
|
102
|
+
[],
|
|
103
|
+
[],
|
|
104
|
+
);
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
it('should not throw when searchIssue rejects', async () => {
|
|
108
|
+
const error = new Error('some error');
|
|
109
|
+
mockIssueRepository.searchIssue.mockRejectedValue(
|
|
110
|
+
new Error('network error'),
|
|
111
|
+
);
|
|
112
|
+
const consoleSpy = jest
|
|
113
|
+
.spyOn(console, 'error')
|
|
114
|
+
.mockImplementation(() => undefined);
|
|
115
|
+
|
|
116
|
+
await expect(
|
|
117
|
+
useCase.run({ error, owner, repo, commandLine }),
|
|
118
|
+
).resolves.toBeUndefined();
|
|
119
|
+
expect(consoleSpy).toHaveBeenCalled();
|
|
120
|
+
consoleSpy.mockRestore();
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
it('should include the command line in the issue body', async () => {
|
|
124
|
+
const error = new Error('cmd error');
|
|
125
|
+
mockIssueRepository.searchIssue.mockResolvedValue([]);
|
|
126
|
+
mockIssueRepository.createNewIssue.mockResolvedValue(2);
|
|
127
|
+
|
|
128
|
+
await useCase.run({ error, owner, repo, commandLine });
|
|
129
|
+
|
|
130
|
+
const bodyArg = mockIssueRepository.createNewIssue.mock.calls[0][3];
|
|
131
|
+
expect(bodyArg).toContain(commandLine);
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
it('should handle non-Error values', async () => {
|
|
135
|
+
const error = 'plain string error';
|
|
136
|
+
mockIssueRepository.searchIssue.mockResolvedValue([]);
|
|
137
|
+
mockIssueRepository.createNewIssue.mockResolvedValue(3);
|
|
138
|
+
|
|
139
|
+
await useCase.run({ error, owner, repo, commandLine });
|
|
140
|
+
|
|
141
|
+
expect(mockIssueRepository.createNewIssue).toHaveBeenCalledWith(
|
|
142
|
+
owner,
|
|
143
|
+
repo,
|
|
144
|
+
expect.stringContaining('CLI error: Error:'),
|
|
145
|
+
expect.any(String),
|
|
146
|
+
[],
|
|
147
|
+
[],
|
|
148
|
+
);
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
});
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { IssueRepository } from './adapter-interfaces/IssueRepository';
|
|
2
|
+
|
|
3
|
+
type CliErrorReportRepository = Pick<
|
|
4
|
+
IssueRepository,
|
|
5
|
+
'searchIssue' | 'createNewIssue' | 'createCommentByUrl'
|
|
6
|
+
>;
|
|
7
|
+
|
|
8
|
+
export class CliErrorReportUseCase {
|
|
9
|
+
constructor(private readonly issueRepository: CliErrorReportRepository) {}
|
|
10
|
+
|
|
11
|
+
run = async (params: {
|
|
12
|
+
error: unknown;
|
|
13
|
+
owner: string;
|
|
14
|
+
repo: string;
|
|
15
|
+
commandLine: string;
|
|
16
|
+
}): Promise<void> => {
|
|
17
|
+
const { error, owner, repo, commandLine } = params;
|
|
18
|
+
const errorName =
|
|
19
|
+
error instanceof Error ? (error.name ?? 'Error') : 'Error';
|
|
20
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
21
|
+
const stack =
|
|
22
|
+
error instanceof Error && error.stack ? error.stack : String(error);
|
|
23
|
+
const title = `CLI error: ${errorName}: ${message.slice(0, 80)}`;
|
|
24
|
+
const occurredAt = new Date().toISOString();
|
|
25
|
+
|
|
26
|
+
const buildBody = (prefix: string): string =>
|
|
27
|
+
[
|
|
28
|
+
`${prefix}`,
|
|
29
|
+
``,
|
|
30
|
+
`Error name: ${errorName}`,
|
|
31
|
+
`Message: ${message}`,
|
|
32
|
+
`Command: \`${commandLine}\``,
|
|
33
|
+
`Occurred at: ${occurredAt}`,
|
|
34
|
+
``,
|
|
35
|
+
`Stack trace:`,
|
|
36
|
+
`\`\`\``,
|
|
37
|
+
stack,
|
|
38
|
+
`\`\`\``,
|
|
39
|
+
].join('\n');
|
|
40
|
+
|
|
41
|
+
try {
|
|
42
|
+
const results = await this.issueRepository.searchIssue({
|
|
43
|
+
owner,
|
|
44
|
+
repositoryName: repo,
|
|
45
|
+
type: 'issue',
|
|
46
|
+
state: 'open',
|
|
47
|
+
title,
|
|
48
|
+
});
|
|
49
|
+
const existing = results.find((r) => r.title === title);
|
|
50
|
+
if (existing) {
|
|
51
|
+
await this.issueRepository.createCommentByUrl(
|
|
52
|
+
existing.url,
|
|
53
|
+
buildBody('CLI error recurrence'),
|
|
54
|
+
);
|
|
55
|
+
} else {
|
|
56
|
+
await this.issueRepository.createNewIssue(
|
|
57
|
+
owner,
|
|
58
|
+
repo,
|
|
59
|
+
title,
|
|
60
|
+
buildBody('CLI error report'),
|
|
61
|
+
[],
|
|
62
|
+
[],
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
} catch (reportError) {
|
|
66
|
+
console.error(
|
|
67
|
+
'CliErrorReportUseCase: failed to report error:',
|
|
68
|
+
reportError,
|
|
69
|
+
);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
}
|
|
@@ -4675,7 +4675,7 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
|
|
|
4675
4675
|
describe('waitingForOwnerApproval', () => {
|
|
4676
4676
|
const issueUrl = 'https://github.com/user/repo/issues/1';
|
|
4677
4677
|
|
|
4678
|
-
it('moves to
|
|
4678
|
+
it('moves to Awaiting Quality Check and posts AWAITING_OWNER_APPROVAL message when last report declares waitingForOwnerApproval', async () => {
|
|
4679
4679
|
const issue = createMockIssue({ url: issueUrl, status: 'Preparation' });
|
|
4680
4680
|
mockProjectRepository.getByUrl.mockResolvedValue(mockProject);
|
|
4681
4681
|
mockIssueRepository.get.mockResolvedValue(issue);
|
|
@@ -4696,13 +4696,13 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
|
|
|
4696
4696
|
});
|
|
4697
4697
|
|
|
4698
4698
|
expect(mockIssueRepository.update).toHaveBeenCalledWith(
|
|
4699
|
-
expect.objectContaining({ status: '
|
|
4699
|
+
expect.objectContaining({ status: 'Awaiting Quality Check' }),
|
|
4700
4700
|
mockProject,
|
|
4701
4701
|
);
|
|
4702
4702
|
expect(mockIssueRepository.updateStatus).toHaveBeenCalledWith(
|
|
4703
4703
|
mockProject,
|
|
4704
|
-
expect.objectContaining({ status: '
|
|
4705
|
-
'
|
|
4704
|
+
expect.objectContaining({ status: 'Awaiting Quality Check' }),
|
|
4705
|
+
'awaiting-quality-check-id',
|
|
4706
4706
|
);
|
|
4707
4707
|
expect(mockIssueCommentRepository.createComment).toHaveBeenCalledWith(
|
|
4708
4708
|
expect.objectContaining({ url: issueUrl }),
|
|
@@ -4742,18 +4742,20 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
|
|
|
4742
4742
|
);
|
|
4743
4743
|
});
|
|
4744
4744
|
|
|
4745
|
-
it('
|
|
4746
|
-
const
|
|
4745
|
+
it('writes no status at all when the project has no Awaiting Quality Check option', async () => {
|
|
4746
|
+
const projectWithoutQualityCheck = {
|
|
4747
4747
|
...mockProject,
|
|
4748
4748
|
status: {
|
|
4749
4749
|
...mockProject.status,
|
|
4750
4750
|
statuses: mockProject.status.statuses.filter(
|
|
4751
|
-
(status) => status.name !== '
|
|
4751
|
+
(status) => status.name !== 'Awaiting Quality Check',
|
|
4752
4752
|
),
|
|
4753
4753
|
},
|
|
4754
4754
|
};
|
|
4755
4755
|
const issue = createMockIssue({ url: issueUrl, status: 'Preparation' });
|
|
4756
|
-
mockProjectRepository.getByUrl.mockResolvedValue(
|
|
4756
|
+
mockProjectRepository.getByUrl.mockResolvedValue(
|
|
4757
|
+
projectWithoutQualityCheck,
|
|
4758
|
+
);
|
|
4757
4759
|
mockIssueRepository.get.mockResolvedValue(issue);
|
|
4758
4760
|
mockIssueCommentRepository.getCommentsFromIssue.mockResolvedValue([
|
|
4759
4761
|
createMockComment({
|
|
@@ -4771,16 +4773,7 @@ describe('NotifyFinishedIssuePreparationUseCase', () => {
|
|
|
4771
4773
|
allowedIssueAuthors: null,
|
|
4772
4774
|
});
|
|
4773
4775
|
|
|
4774
|
-
expect(mockIssueRepository.updateStatus).
|
|
4775
|
-
projectWithoutTodo,
|
|
4776
|
-
expect.objectContaining({ status: 'Failed Preparation' }),
|
|
4777
|
-
'failed-preparation-id',
|
|
4778
|
-
);
|
|
4779
|
-
expect(mockIssueRepository.updateStatus).not.toHaveBeenCalledWith(
|
|
4780
|
-
projectWithoutTodo,
|
|
4781
|
-
expect.anything(),
|
|
4782
|
-
'awaiting-workspace-id',
|
|
4783
|
-
);
|
|
4776
|
+
expect(mockIssueRepository.updateStatus.mock.calls).toHaveLength(0);
|
|
4784
4777
|
});
|
|
4785
4778
|
|
|
4786
4779
|
it('escalates to Failed Preparation after ownerApprovalTimeoutCycles AWAITING_OWNER_APPROVAL messages', async () => {
|
|
@@ -8,7 +8,6 @@ import {
|
|
|
8
8
|
AWAITING_WORKSPACE_STATUS_NAME,
|
|
9
9
|
FAILED_PREPARATION_STATUS_NAME,
|
|
10
10
|
PREPARATION_STATUS_NAME,
|
|
11
|
-
TODO_STATUS_NAME,
|
|
12
11
|
} from '../entities/WorkflowStatus';
|
|
13
12
|
import {
|
|
14
13
|
IssueRejectionEvaluator,
|
|
@@ -158,9 +157,6 @@ export class NotifyFinishedIssuePreparationUseCase {
|
|
|
158
157
|
);
|
|
159
158
|
return;
|
|
160
159
|
}
|
|
161
|
-
const todoStatusOption = project.status.statuses.find(
|
|
162
|
-
(s) => s.name === TODO_STATUS_NAME,
|
|
163
|
-
);
|
|
164
160
|
|
|
165
161
|
const issue = await this.issueRepository.get(params.issueUrl, project);
|
|
166
162
|
|
|
@@ -330,21 +326,13 @@ export class NotifyFinishedIssuePreparationUseCase {
|
|
|
330
326
|
isTrustedAuthor(comment.author) &&
|
|
331
327
|
comment.content.startsWith(AWAITING_OWNER_APPROVAL_MESSAGE_HEAD),
|
|
332
328
|
).length;
|
|
333
|
-
if (
|
|
334
|
-
|
|
335
|
-
`Todo status option '${TODO_STATUS_NAME}' not found in project; escalating to '${FAILED_PREPARATION_STATUS_NAME}' instead of returning the task to the dispatch pool.`,
|
|
336
|
-
);
|
|
337
|
-
}
|
|
338
|
-
if (
|
|
339
|
-
awaitingOwnerApprovalCount < ownerApprovalTimeoutCycles &&
|
|
340
|
-
todoStatusOption
|
|
341
|
-
) {
|
|
342
|
-
issue.status = TODO_STATUS_NAME;
|
|
329
|
+
if (awaitingOwnerApprovalCount < ownerApprovalTimeoutCycles) {
|
|
330
|
+
issue.status = AWAITING_QUALITY_CHECK_STATUS_NAME;
|
|
343
331
|
await this.issueRepository.update(issue, project);
|
|
344
332
|
await this.issueRepository.updateStatus(
|
|
345
333
|
project,
|
|
346
334
|
issue,
|
|
347
|
-
|
|
335
|
+
awaitingQualityCheckStatusOption.id,
|
|
348
336
|
);
|
|
349
337
|
await this.patchConsoleTab(issue);
|
|
350
338
|
await this.issueCommentRepository.createComment(
|
|
@@ -2565,7 +2565,7 @@ describe('RevertOrphanedPreparationUseCase', () => {
|
|
|
2565
2565
|
);
|
|
2566
2566
|
});
|
|
2567
2567
|
|
|
2568
|
-
it('should move an orphaned issue to
|
|
2568
|
+
it('should move an orphaned issue to Awaiting Quality Check with AWAITING_OWNER_APPROVAL when last report declares waitingForOwnerApproval', async () => {
|
|
2569
2569
|
const stuckIssue = createMockIssue({
|
|
2570
2570
|
url: 'https://github.com/user/repo/issues/10',
|
|
2571
2571
|
status: 'Preparation',
|
|
@@ -2598,7 +2598,7 @@ describe('RevertOrphanedPreparationUseCase', () => {
|
|
|
2598
2598
|
});
|
|
2599
2599
|
|
|
2600
2600
|
expect(mockIssueRepository.updateStatus.mock.calls).toHaveLength(1);
|
|
2601
|
-
expect(mockIssueRepository.updateStatus.mock.calls[0][2]).toBe('
|
|
2601
|
+
expect(mockIssueRepository.updateStatus.mock.calls[0][2]).toBe('4');
|
|
2602
2602
|
expect(mockIssueCommentRepository.createComment.mock.calls).toHaveLength(1);
|
|
2603
2603
|
expect(mockIssueCommentRepository.createComment.mock.calls[0][1]).toContain(
|
|
2604
2604
|
'Auto Status Check: AWAITING_OWNER_APPROVAL',
|
|
@@ -13,7 +13,6 @@ import {
|
|
|
13
13
|
AWAITING_WORKSPACE_STATUS_NAME,
|
|
14
14
|
FAILED_PREPARATION_STATUS_NAME,
|
|
15
15
|
PREPARATION_STATUS_NAME,
|
|
16
|
-
TODO_STATUS_NAME,
|
|
17
16
|
} from '../entities/WorkflowStatus';
|
|
18
17
|
import { resolveLabelsNotRequiringPullRequest } from './resolveLabelsNotRequiringPullRequest';
|
|
19
18
|
import { isPullRequestDeclaredUnnecessary } from './isPullRequestDeclaredUnnecessary';
|
|
@@ -122,10 +121,6 @@ export class RevertOrphanedPreparationUseCase {
|
|
|
122
121
|
(s) => s.name === FAILED_PREPARATION_STATUS_NAME,
|
|
123
122
|
);
|
|
124
123
|
|
|
125
|
-
const todoStatusOption = project.status.statuses.find(
|
|
126
|
-
(s) => s.name === TODO_STATUS_NAME,
|
|
127
|
-
);
|
|
128
|
-
|
|
129
124
|
for (const issue of preparationIssues) {
|
|
130
125
|
const isOrphaned = await this.isOrphanedIssue(issue, params);
|
|
131
126
|
if (!isOrphaned) {
|
|
@@ -221,12 +216,12 @@ export class RevertOrphanedPreparationUseCase {
|
|
|
221
216
|
).length;
|
|
222
217
|
if (
|
|
223
218
|
awaitingOwnerApprovalCount < ownerApprovalTimeoutCycles &&
|
|
224
|
-
|
|
219
|
+
awaitingQualityCheckStatusOption
|
|
225
220
|
) {
|
|
226
221
|
await this.issueRepository.updateStatus(
|
|
227
222
|
project,
|
|
228
223
|
issue,
|
|
229
|
-
|
|
224
|
+
awaitingQualityCheckStatusOption.id,
|
|
230
225
|
);
|
|
231
226
|
await this.issueCommentRepository.createComment(
|
|
232
227
|
issue,
|
|
@@ -2,4 +2,4 @@ export const AWAITING_OWNER_APPROVAL_MESSAGE_HEAD =
|
|
|
2
2
|
'Auto Status Check: AWAITING_OWNER_APPROVAL';
|
|
3
3
|
|
|
4
4
|
export const AWAITING_OWNER_APPROVAL_MESSAGE = `${AWAITING_OWNER_APPROVAL_MESSAGE_HEAD}
|
|
5
|
-
The last report declared that this task is waiting for owner approval. Moving it to
|
|
5
|
+
The last report declared that this task is waiting for owner approval. Moving it to Awaiting Quality Check so that it waits for the owner's judgement instead of being dispatched again.`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AA+OzB,eAAO,MAAM,OAAO,SAAgB,CAAC;AA0lCrC,eAAO,MAAM,uBAAuB,GAAI,OAAO,OAAO,KAAG,IAGxD,CAAC;AAwCF,eAAO,MAAM,aAAa,GACxB,MAAM,MAAM,EAAE,EACd,kBAAkB,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,KACzC,OAAO,CAAC,IAAI,CAqCd,CAAC"}
|