Skip to content

Commit 0fd6aed

Browse files
committed
feat: improve CI status messages
1 parent 8c8b611 commit 0fd6aed

File tree

10 files changed

+55
-13
lines changed

10 files changed

+55
-13
lines changed

dist/index.js

Lines changed: 11 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/pull-request.js

Lines changed: 3 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/pull-request.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/util.d.ts

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/util.js

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/util.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/pull-request.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { debug } from '@actions/core';
22
import { z } from 'zod';
33

44
import { CustomOctokit } from './octokit';
5+
import { makeList } from './util';
56

67
import {
78
CheckRuns,
@@ -76,8 +77,8 @@ export class PullRequest {
7677
} else {
7778
checkRunsSuccess = false;
7879
const failedChecks = this.isFailedOrPending(checkRuns);
79-
message += `Failed or pending checks - ${failedChecks.failed.concat(
80-
failedChecks.pending
80+
message += `Failed or pending checks - ${makeList(
81+
failedChecks.failed.concat(failedChecks.pending)
8182
)}`;
8283
}
8384

@@ -92,9 +93,11 @@ export class PullRequest {
9293
statusSuccess = false;
9394
const failedStatuses = this.isFailedOrPendingStatuses(status.statuses);
9495
message.length > 0 && (message += '\t');
95-
message += `Failed or pending statuses - ${failedStatuses.error.concat(
96-
failedStatuses.failed,
97-
failedStatuses.pending
96+
message += `Failed or pending statuses - ${makeList(
97+
failedStatuses.error.concat(
98+
failedStatuses.failed,
99+
failedStatuses.pending
100+
)
98101
)}`;
99102
}
100103

src/util.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,3 +95,9 @@ export async function removeLabel(
9595
export function raise(error: string): never {
9696
throw new ValidationError(error);
9797
}
98+
99+
export function makeList(items: string[]): string {
100+
if (items.length === 0) return '';
101+
102+
return items.map(item => `* ${item}`).join('\n');
103+
}

test/unit/util.test.ts

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
import { describe, expect, test } from 'vitest';
22

3-
import { getFailedMessage, getSuccessMessage, raise } from '../../src/util';
3+
import {
4+
getFailedMessage,
5+
getSuccessMessage,
6+
makeList,
7+
raise,
8+
} from '../../src/util';
49

510
describe('Test Util functions', () => {
611
test('getFailedMessage()', () => {
@@ -27,4 +32,16 @@ describe('Test Util functions', () => {
2732

2833
test('raise()', () =>
2934
expect(() => raise('test error')).toThrowError('test error'));
35+
36+
test('makeList()', () => {
37+
let list = ['item1', 'item2', 'item3'];
38+
expect(makeList(list)).toMatchInlineSnapshot(`
39+
"* item1
40+
* item2
41+
* item3"
42+
`);
43+
44+
list = [];
45+
expect(makeList(list)).toBe('');
46+
});
3047
});

0 commit comments

Comments
 (0)