This commit is contained in:
Julian 2022-02-10 18:44:55 +01:00 committed by A. J. Kaptijn
parent a882f5b774
commit 5f540e5020

View file

@ -24,6 +24,7 @@ import fs from 'fs'
//import fetch from 'node-fetch' //import fetch from 'node-fetch'
import bent from 'bent' import bent from 'bent'
import { cwd } from 'process'; import { cwd } from 'process';
import Zip from 'adm-zip'
async function main(): Promise<void> { async function main(): Promise<void> {
try { try {
@ -89,14 +90,14 @@ class TestReporter {
const inputProvider = this.artifact const inputProvider = this.artifact
? new ArtifactProvider( ? new ArtifactProvider(
this.octokit, this.octokit,
this.artifact, this.artifact,
this.name, this.name,
pattern, pattern,
this.context.sha, this.context.sha,
this.context.runId, this.context.runId,
this.token this.token
) )
: new LocalFileProvider(this.name, pattern) : new LocalFileProvider(this.name, pattern)
const parseErrors = this.maxAnnotations > 0 const parseErrors = this.maxAnnotations > 0
@ -117,10 +118,14 @@ class TestReporter {
const results: TestRunResult[] = [] const results: TestRunResult[] = []
const input = await inputProvider.load() const input = await inputProvider.load()
let version : string | null = null; let version: string | null = null;
if(input.versionArtifactPath) { if (input.versionArtifactPath) {
version = fs.readFileSync(input.versionArtifactPath).toString(); const zip = new Zip(input.versionArtifactPath)
const entry = zip.getEntry('version.txt')
version = zip.readAsText(entry);
core.info(`Using EVA version ${version}, current directory: ${cwd()}`) core.info(`Using EVA version ${version}, current directory: ${cwd()}`)
} }
@ -129,9 +134,9 @@ class TestReporter {
try { try {
const post = bent(this.resultsEndpoint, 'POST', {}, 200); const post = bent(this.resultsEndpoint, 'POST', {}, 200);
await post(`TestResults?Secret=${this.resultsEndpointSecret}${version ? "&EVAVersion=" + version : ''}`, readStream); const response = await post(`TestResults?Secret=${this.resultsEndpointSecret}${version ? "&EVAVersion=" + version : ''}`, readStream);
core.info(`Uploaded TRX files: ${a}`) core.info(`Uploaded TRX files: ${a}`)
} catch (ex){ } catch (ex) {
core.warning(`Could not upload file ${a}: ${ex}`) core.warning(`Could not upload file ${a}: ${ex}`)
} }
} }
@ -202,9 +207,9 @@ class TestReporter {
}) })
core.info('Creating report summary') core.info('Creating report summary')
const {listSuites, listTests, onlySummary} = this const { listSuites, listTests, onlySummary } = this
const baseUrl = createResp.data.html_url || '' const baseUrl = createResp.data.html_url || ''
const summary = getReport(results, {listSuites, listTests, baseUrl, onlySummary}) const summary = getReport(results, { listSuites, listTests, baseUrl, onlySummary })
core.info('Creating annotations') core.info('Creating annotations')
const annotations = getAnnotations(results, this.maxAnnotations) const annotations = getAnnotations(results, this.maxAnnotations)