This commit is contained in:
Aart Jan Kaptijn 2022-11-14 15:03:23 +01:00 committed by A. J. Kaptijn
parent e5aa1531a6
commit 411cf3d74b
19 changed files with 82 additions and 119 deletions

View file

@ -1,7 +1,7 @@
import * as fs from 'fs'
import glob from 'fast-glob'
import {FileContent, InputProvider, ReportInput} from './input-provider'
import {listFiles} from '../utils/git'
import {FileContent, InputProvider, ReportInput} from './input-provider.js'
import {listFiles} from '../utils/git.js'
export class LocalFileProvider implements InputProvider {
constructor(

View file

@ -1,31 +1,28 @@
import * as core from '@actions/core'
import * as github from '@actions/github'
import {GitHub} from '@actions/github/lib/utils'
import {GitHub} from '@actions/github/lib/utils.js'
import {ArtifactProvider} from './input-providers/artifact-provider'
import {LocalFileProvider} from './input-providers/local-file-provider'
import {FileContent} from './input-providers/input-provider'
import {ParseOptions, TestParser} from './test-parser'
import {TestRunResult} from './test-results'
import {getAnnotations} from './report/get-annotations'
import {getReport} from './report/get-report'
import {ArtifactProvider} from './input-providers/artifact-provider.js'
import {LocalFileProvider} from './input-providers/local-file-provider.js'
import {FileContent} from './input-providers/input-provider.js'
import {ParseOptions, TestParser} from './test-parser.js'
import {TestRunResult} from './test-results.js'
import {getAnnotations} from './report/get-annotations.js'
import {getReport} from './report/get-report.js'
import {DartJsonParser} from './parsers/dart-json/dart-json-parser'
import {DotnetTrxParser} from './parsers/dotnet-trx/dotnet-trx-parser'
import {JavaJunitParser} from './parsers/java-junit/java-junit-parser'
import {JestJunitParser} from './parsers/jest-junit/jest-junit-parser'
import {MochaJsonParser} from './parsers/mocha-json/mocha-json-parser'
import {SwiftXunitParser} from './parsers/swift-xunit/swift-xunit-parser'
import {DartJsonParser} from './parsers/dart-json/dart-json-parser.js'
import {DotnetTrxParser} from './parsers/dotnet-trx/dotnet-trx-parser.js'
import {JavaJunitParser} from './parsers/java-junit/java-junit-parser.js'
import {JestJunitParser} from './parsers/jest-junit/jest-junit-parser.js'
import {MochaJsonParser} from './parsers/mocha-json/mocha-json-parser.js'
import {SwiftXunitParser} from './parsers/swift-xunit/swift-xunit-parser.js'
import {normalizeDirPath, normalizeFilePath} from './utils/path-utils'
import {getCheckRunContext} from './utils/github-utils'
import {normalizeDirPath, normalizeFilePath} from './utils/path-utils.js'
import {getCheckRunContext} from './utils/github-utils.js'
import {IncomingWebhook} from '@slack/webhook'
import fs from 'fs'
//import fetch from 'node-fetch'
import bent from 'bent'
import { cwd } from 'process';
import Zip from 'adm-zip'
import path from 'path'
async function main(): Promise<void> {
try {
@ -121,15 +118,21 @@ class TestReporter {
try {
const readStream = input.trxZip.toBuffer();
const version = fs.existsSync('src/EVA.TestSuite.Core/bin/Release/version.txt') ? fs.readFileSync('src/EVA.TestSuite.Core/bin/Release/version.txt').toString() : null;
const commitID = fs.existsSync('src/EVA.TestSuite.Core/bin/Release/commit.txt') ? fs.readFileSync('src/EVA.TestSuite.Core/bin/Release/commit.txt').toString() : null;
const readStream = input.trxZip.toBuffer()
const version = fs.existsSync('src/EVA.TestSuite.Core/bin/Release/version.txt')
? fs.readFileSync('src/EVA.TestSuite.Core/bin/Release/version.txt').toString()
: null
const commitID = fs.existsSync('src/EVA.TestSuite.Core/bin/Release/commit.txt')
? fs.readFileSync('src/EVA.TestSuite.Core/bin/Release/commit.txt').toString()
: null
core.info(`Using EVA version ${version}, commit ${commitID}, current directory: ${cwd()}`)
const post = bent(this.resultsEndpoint, 'POST', {}, 200)
await post(
`TestResults?Secret=${this.resultsEndpointSecret}${version ? '&EVAVersion=' + version : ''}${commitID ? '&EVACommitID=' + commitID : ''}`,
`TestResults?Secret=${this.resultsEndpointSecret}${version ? '&EVAVersion=' + version : ''}${
commitID ? '&EVACommitID=' + commitID : ''
}`,
readStream
)
core.info(`Uploaded TRX files`)

View file

@ -1,6 +1,6 @@
import {ParseOptions, TestParser} from '../../test-parser'
import {ParseOptions, TestParser} from '../../test-parser.js'
import {getBasePath, normalizeFilePath} from '../../utils/path-utils'
import {getBasePath, normalizeFilePath} from '../../utils/path-utils.js'
import {
ReportEvent,
@ -17,7 +17,7 @@ import {
isDoneEvent,
isMessageEvent,
MessageEvent
} from './dart-json-types'
} from './dart-json-types.js'
import {
TestExecutionResult,
@ -26,7 +26,7 @@ import {
TestGroupResult,
TestCaseResult,
TestCaseError
} from '../../test-results'
} from '../../test-results.js'
class TestRun {
constructor(

View file

@ -1,10 +1,10 @@
import {parseStringPromise} from 'xml2js'
import {ErrorInfo, Outcome, TrxReport, UnitTest, UnitTestResult} from './dotnet-trx-types'
import {ParseOptions, TestParser} from '../../test-parser'
import {ErrorInfo, Outcome, TrxReport, UnitTest, UnitTestResult} from './dotnet-trx-types.js'
import {ParseOptions, TestParser} from '../../test-parser.js'
import {getBasePath, normalizeFilePath} from '../../utils/path-utils'
import {parseIsoDate, parseNetDuration} from '../../utils/parse-utils'
import {getBasePath, normalizeFilePath} from '../../utils/path-utils.js'
import {parseIsoDate, parseNetDuration} from '../../utils/parse-utils.js'
import {
TestExecutionResult,
@ -13,7 +13,7 @@ import {
TestGroupResult,
TestCaseResult,
TestCaseError
} from '../../test-results'
} from '../../test-results.js'
class TestClass {
constructor(readonly name: string) {}

View file

@ -1,10 +1,10 @@
import * as path from 'path'
import {ParseOptions, TestParser} from '../../test-parser'
import {ParseOptions, TestParser} from '../../test-parser.js'
import {parseStringPromise} from 'xml2js'
import {JunitReport, SingleSuiteReport, TestCase, TestSuite} from './java-junit-types'
import {parseStackTraceElement} from './java-stack-trace-element-parser'
import {normalizeFilePath} from '../../utils/path-utils'
import {parseStackTraceElement} from './java-stack-trace-element-parser.js'
import {JunitReport, SingleSuiteReport, TestCase, TestSuite} from './java-junit-types.js'
import {normalizeFilePath} from '../../utils/path-utils.js'
import {
TestExecutionResult,
@ -13,7 +13,7 @@ import {
TestGroupResult,
TestCaseResult,
TestCaseError
} from '../../test-results'
} from '../../test-results.js'
export class JavaJunitParser implements TestParser {
readonly trackedFiles: {[fileName: string]: string[]}

View file

@ -1,9 +1,9 @@
import {ParseOptions, TestParser} from '../../test-parser'
import {ParseOptions, TestParser} from '../../test-parser.js'
import {parseStringPromise} from 'xml2js'
import {JunitReport, TestCase, TestSuite} from './jest-junit-types'
import {getExceptionSource} from '../../utils/node-utils'
import {getBasePath, normalizeFilePath} from '../../utils/path-utils'
import {JunitReport, TestCase, TestSuite} from './jest-junit-types.js'
import {getExceptionSource} from '../../utils/node-utils.js'
import {getBasePath, normalizeFilePath} from '../../utils/path-utils.js'
import {
TestExecutionResult,
@ -12,7 +12,7 @@ import {
TestGroupResult,
TestCaseResult,
TestCaseError
} from '../../test-results'
} from '../../test-results.js'
export class JestJunitParser implements TestParser {
assumedWorkDir: string | undefined

View file

@ -1,4 +1,4 @@
import {ParseOptions, TestParser} from '../../test-parser'
import {ParseOptions, TestParser} from '../../test-parser.js'
import {
TestCaseError,
TestCaseResult,
@ -6,10 +6,10 @@ import {
TestGroupResult,
TestRunResult,
TestSuiteResult
} from '../../test-results'
import {getExceptionSource} from '../../utils/node-utils'
import {getBasePath, normalizeFilePath} from '../../utils/path-utils'
import {MochaJson, MochaJsonTest} from './mocha-json-types'
} from '../../test-results.js'
import {getExceptionSource} from '../../utils/node-utils.js'
import {getBasePath, normalizeFilePath} from '../../utils/path-utils.js'
import {MochaJson, MochaJsonTest} from './mocha-json-types.js'
export class MochaJsonParser implements TestParser {
assumedWorkDir: string | undefined

View file

@ -1,5 +1,5 @@
import {ParseOptions} from '../../test-parser'
import {JavaJunitParser} from '../java-junit/java-junit-parser'
import {ParseOptions} from '../../test-parser.js'
import {JavaJunitParser} from '../java-junit/java-junit-parser.js'
export class SwiftXunitParser extends JavaJunitParser {
constructor(readonly options: ParseOptions) {

View file

@ -1,6 +1,6 @@
import {ellipsis, fixEol} from '../utils/markdown-utils'
import {TestRunResult} from '../test-results'
import {getFirstNonEmptyLine} from '../utils/parse-utils'
import {ellipsis, fixEol} from '../utils/markdown-utils.js'
import {TestRunResult} from '../test-results.js'
import {getFirstNonEmptyLine} from '../utils/parse-utils.js'
type Annotation = {
path: string

View file

@ -1,9 +1,9 @@
import * as core from '@actions/core'
import {TestExecutionResult, TestRunResult, TestSuiteResult} from '../test-results'
import {Align, formatTime, Icon, link, table} from '../utils/markdown-utils'
import {DEFAULT_LOCALE} from '../utils/node-utils'
import {getFirstNonEmptyLine} from '../utils/parse-utils'
import {slug} from '../utils/slugger'
import {DEFAULT_LOCALE} from '../utils/node-utils.js'
import {TestExecutionResult, TestRunResult, TestSuiteResult} from '../test-results.js'
import {Align, formatTime, Icon, link, table} from '../utils/markdown-utils.js'
import {getFirstNonEmptyLine} from '../utils/parse-utils.js'
import {slug} from '../utils/slugger.js'
const MAX_REPORT_LENGTH = 65535

View file

@ -1,4 +1,4 @@
import {TestRunResult} from './test-results'
import {TestRunResult} from './test-results.js'
export interface ParseOptions {
parseErrors: boolean

View file

@ -1,5 +1,5 @@
import * as core from '@actions/core'
import {getExecOutput} from '@actions/exec'
import { getExecOutput } from '@actions/exec'
export async function listFiles(): Promise<string[]> {
core.startGroup('Listing all files tracked by git')

View file

@ -1,7 +1,7 @@
import {createWriteStream} from 'fs'
import * as core from '@actions/core'
import * as github from '@actions/github'
import {GitHub} from '@actions/github/lib/utils'
import {GitHub} from '@actions/github/lib/utils.js'
import * as stream from 'stream'
import {promisify} from 'util'
import got from 'got'

View file

@ -1,4 +1,4 @@
import {normalizeFilePath} from './path-utils'
import {normalizeFilePath} from './path-utils.js'
export const DEFAULT_LOCALE = 'en-US'