Skip to content
This repository has been archived by the owner on Nov 16, 2023. It is now read-only.

Commit

Permalink
Merge pull request #100 from technote-space/feature/#99
Browse files Browse the repository at this point in the history
Feature/#99
  • Loading branch information
technote-space committed Jun 2, 2022
2 parents b2b9930 + c878e31 commit 7577586
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 22 deletions.
2 changes: 1 addition & 1 deletion src/fixtures/actions.list.jobs2.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"url": "https://api.github.com/repos/octo-org/octo-repo/actions/jobs/399444496",
"html_url": "https://github.com/octo-org/octo-repo/runs/399444496",
"status": "completed",
"conclusion": "failure",
"conclusion": null,
"started_at": "2020-01-20T17:42:40Z",
"completed_at": "2020-01-20T17:44:39Z",
"name": "build",
Expand Down
31 changes: 17 additions & 14 deletions src/process.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,23 +59,26 @@ describe('getJobs', () => {
describe('getJobConclusions', () => {
it('should get conclusions', () => {
expect(getJobConclusions([
{ name: 'test1', conclusion: 'cancelled' },
{ name: 'test2', conclusion: 'neutral' },
{ name: 'test3', conclusion: 'failure' },
{ name: 'test4', conclusion: 'success' },
{ name: 'test5', conclusion: 'failure' },
{ name: 'test6', conclusion: 'success' },
{ name: 'test7', conclusion: 'cancelled' },
{ name: 'test8', conclusion: 'skipped' },
{ name: 'test9', conclusion: 'test1' },
{ name: 'test9', conclusion: 'test2' },
{ name: 'test9', conclusion: 'test3' },
{ conclusion: 'cancelled' },
{ conclusion: null },
{ conclusion: 'neutral' },
{ conclusion: 'failure' },
{ conclusion: 'success' },
{ conclusion: 'failure' },
{ conclusion: 'success' },
{ conclusion: 'cancelled' },
{ conclusion: 'skipped' },
{ conclusion: 'test1' },
{ conclusion: 'test2' },
{ conclusion: 'test3' },
])).toEqual([
'cancelled',
'neutral',
'failure',
'success',
'skipped',
'test1',
'test2',
'test3',
]);
});
Expand Down Expand Up @@ -121,7 +124,7 @@ describe('execute', () => {
stdoutContains(mockStdout, [
'::group::Jobs:',
'::group::Conclusions:',
getLogStdout(['success']),
getLogStdout(['skipped', 'success']),
'::group::Conclusion:',
'"success"',
'::set-output name=conclusion::success',
Expand All @@ -144,7 +147,7 @@ describe('execute', () => {
stdoutContains(mockStdout, [
'::group::Jobs:',
'::group::Conclusions:',
getLogStdout(['success', 'cancelled', 'skipped']),
getLogStdout(['cancelled', 'success', 'skipped']),
'::group::Conclusion:',
'"cancelled"',
'::set-output name=conclusion::cancelled',
Expand Down Expand Up @@ -213,7 +216,7 @@ describe('execute', () => {
stdoutContains(mockStdout, [
'::group::Jobs:',
'::group::Conclusions:',
getLogStdout(['success']),
getLogStdout(['skipped', 'success']),
'::group::Conclusion:',
'"success"',
'::set-output name=conclusion::success',
Expand Down
11 changes: 4 additions & 7 deletions src/process.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,10 @@ export const getJobs = async(octokit: Octokit, context: Context): Promise<Array<
},
);

export const getJobConclusions = (jobs: Array<{ name: string; conclusion: string | null }>): Array<string> => Utils.uniqueArray(
Object.values(
jobs
.filter(job => null !== job.conclusion)
.map(job => ({ name: job.name, conclusion: String(job.conclusion) }))
.reduce((acc, job) => ({ ...acc, [job.name]: job.conclusion }), {}),
),
export const getJobConclusions = (jobs: Array<{ conclusion: string | null }>): Array<string> => Utils.uniqueArray(
jobs
.filter((job): job is { conclusion: string } => null !== job.conclusion)
.map(job => job.conclusion),
);

// eslint-disable-next-line no-magic-numbers
Expand Down

0 comments on commit 7577586

Please sign in to comment.