-
Notifications
You must be signed in to change notification settings - Fork 41
/
job-summary-creator.ts
39 lines (32 loc) · 1.43 KB
/
job-summary-creator.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
import { inject, injectable } from 'inversify';
import { iocTypes, Logger, ProgressReporter, ReportMarkdownConvertor } from '@accessibility-insights-action/shared';
import { CombinedReportParameters } from 'accessibility-insights-report';
import { GHTaskConfig } from '../task-config/gh-task-config';
@injectable()
export class JobSummaryCreator extends ProgressReporter {
private scanSucceeded = true;
constructor(
@inject(iocTypes.TaskConfig) private readonly taskConfig: GHTaskConfig,
@inject(ReportMarkdownConvertor) private readonly reportMarkdownConvertor: ReportMarkdownConvertor,
@inject(Logger) private readonly logger: Logger,
) {
super();
}
public start(): Promise<void> {
this.logger.logDebug('job summary creator started');
return Promise.resolve();
}
public async completeRun(combinedReportResult: CombinedReportParameters): Promise<void> {
const reportMarkdown = this.reportMarkdownConvertor.convert(combinedReportResult);
return await this.taskConfig.writeJobSummary(reportMarkdown);
}
// eslint-disable-next-line @typescript-eslint/require-await
public async failRun(): Promise<void> {
this.scanSucceeded = false;
}
public didScanSucceed(): Promise<boolean> {
return Promise.resolve(this.scanSucceeded);
}
}