mirror of
https://github.com/dorny/test-reporter.git
synced 2025-12-16 06:17:10 +01:00
Add artifact input to action.yml + improve logging
This commit is contained in:
parent
3510d9ac27
commit
075144b122
5 changed files with 30 additions and 3 deletions
|
|
@ -3,6 +3,9 @@ description: |
|
||||||
Displays test results directly in GitHub. Supports .NET (xUnit, NUnit, MSTest), Dart, Flutter and JavaScript (JEST).
|
Displays test results directly in GitHub. Supports .NET (xUnit, NUnit, MSTest), Dart, Flutter and JavaScript (JEST).
|
||||||
author: Michal Dorner <dorner.michal@gmail.com>
|
author: Michal Dorner <dorner.michal@gmail.com>
|
||||||
inputs:
|
inputs:
|
||||||
|
artifact:
|
||||||
|
description: Name or regex of artifact containing test results
|
||||||
|
required: false
|
||||||
name:
|
name:
|
||||||
description: Name of the check run
|
description: Name of the check run
|
||||||
required: true
|
required: true
|
||||||
|
|
|
||||||
13
dist/index.js
generated
vendored
13
dist/index.js
generated
vendored
|
|
@ -31,6 +31,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
||||||
exports.ArtifactProvider = void 0;
|
exports.ArtifactProvider = void 0;
|
||||||
|
const core = __importStar(__nccwpck_require__(2186));
|
||||||
const github = __importStar(__nccwpck_require__(5438));
|
const github = __importStar(__nccwpck_require__(5438));
|
||||||
const adm_zip_1 = __importDefault(__nccwpck_require__(6761));
|
const adm_zip_1 = __importDefault(__nccwpck_require__(6761));
|
||||||
const picomatch_1 = __importDefault(__nccwpck_require__(8569));
|
const picomatch_1 = __importDefault(__nccwpck_require__(8569));
|
||||||
|
|
@ -70,7 +71,15 @@ class ArtifactProvider {
|
||||||
...github.context.repo,
|
...github.context.repo,
|
||||||
run_id: this.runId
|
run_id: this.runId
|
||||||
});
|
});
|
||||||
|
if (resp.data.artifacts.length === 0) {
|
||||||
|
core.warning(`No artifacts found in run ${this.runId}`);
|
||||||
|
return {};
|
||||||
|
}
|
||||||
const artifacts = resp.data.artifacts.filter(a => this.artifactNameMatch(a.name));
|
const artifacts = resp.data.artifacts.filter(a => this.artifactNameMatch(a.name));
|
||||||
|
if (artifacts.length === 0) {
|
||||||
|
core.warning(`No artifact matches ${this.artifact}`);
|
||||||
|
return {};
|
||||||
|
}
|
||||||
for (const art of artifacts) {
|
for (const art of artifacts) {
|
||||||
await github_utils_1.downloadArtifact(this.octokit, art.id, art.name);
|
await github_utils_1.downloadArtifact(this.octokit, art.id, art.name);
|
||||||
const reportName = this.getReportName(art.name);
|
const reportName = this.getReportName(art.name);
|
||||||
|
|
@ -1388,7 +1397,9 @@ async function listFiles(octokit, sha) {
|
||||||
commit_sha: sha,
|
commit_sha: sha,
|
||||||
...github.context.repo
|
...github.context.repo
|
||||||
});
|
});
|
||||||
return await listGitTree(octokit, commit.data.tree.sha, '');
|
const files = await listGitTree(octokit, commit.data.tree.sha, '');
|
||||||
|
core.info(`Found ${files.length} files tracked by GitHub in commit ${sha}`);
|
||||||
|
return files;
|
||||||
}
|
}
|
||||||
exports.listFiles = listFiles;
|
exports.listFiles = listFiles;
|
||||||
async function listGitTree(octokit, sha, path) {
|
async function listGitTree(octokit, sha, path) {
|
||||||
|
|
|
||||||
2
dist/index.js.map
generated
vendored
2
dist/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
|
|
@ -1,3 +1,4 @@
|
||||||
|
import * as core from '@actions/core'
|
||||||
import * as github from '@actions/github'
|
import * as github from '@actions/github'
|
||||||
import {GitHub} from '@actions/github/lib/utils'
|
import {GitHub} from '@actions/github/lib/utils'
|
||||||
|
|
||||||
|
|
@ -50,7 +51,17 @@ export class ArtifactProvider implements InputProvider {
|
||||||
run_id: this.runId
|
run_id: this.runId
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if (resp.data.artifacts.length === 0) {
|
||||||
|
core.warning(`No artifacts found in run ${this.runId}`)
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
|
||||||
const artifacts = resp.data.artifacts.filter(a => this.artifactNameMatch(a.name))
|
const artifacts = resp.data.artifacts.filter(a => this.artifactNameMatch(a.name))
|
||||||
|
if (artifacts.length === 0) {
|
||||||
|
core.warning(`No artifact matches ${this.artifact}`)
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
|
||||||
for (const art of artifacts) {
|
for (const art of artifacts) {
|
||||||
await downloadArtifact(this.octokit, art.id, art.name)
|
await downloadArtifact(this.octokit, art.id, art.name)
|
||||||
const reportName = this.getReportName(art.name)
|
const reportName = this.getReportName(art.name)
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,9 @@ export async function listFiles(octokit: InstanceType<typeof GitHub>, sha: strin
|
||||||
commit_sha: sha,
|
commit_sha: sha,
|
||||||
...github.context.repo
|
...github.context.repo
|
||||||
})
|
})
|
||||||
return await listGitTree(octokit, commit.data.tree.sha, '')
|
const files = await listGitTree(octokit, commit.data.tree.sha, '')
|
||||||
|
core.info(`Found ${files.length} files tracked by GitHub in commit ${sha}`)
|
||||||
|
return files
|
||||||
}
|
}
|
||||||
|
|
||||||
async function listGitTree(octokit: InstanceType<typeof GitHub>, sha: string, path: string): Promise<string[]> {
|
async function listGitTree(octokit: InstanceType<typeof GitHub>, sha: string, path: string): Promise<string[]> {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue