diff --git a/action.yml b/action.yml index 615de6e2d..b446b19a1 100644 --- a/action.yml +++ b/action.yml @@ -81,6 +81,10 @@ inputs: description: 'Whether to overwrite existing HTML/JS/CSS files on GitHub Pages' required: false default: 'true' + metadata: + description: 'Additional metadata to store about the run' + required: false + default: '' runs: using: 'node12' diff --git a/src/config.ts b/src/config.ts index e315088d0..1330264eb 100644 --- a/src/config.ts +++ b/src/config.ts @@ -24,6 +24,7 @@ export interface Config { chartXAxis: 'id' | 'date'; oneChartGroups: string[]; overwriteAssets: boolean; + metadata: string; } const RE_UINT = /^\d+$/; @@ -228,6 +229,7 @@ export async function configFromJobInput(): Promise { const oneChartGroups = core.getInput('one-chart-groups').split(','); let failThreshold = getPercentageInput('fail-threshold'); const overwriteAssets = getBoolInput('overwrite-assets'); + const metadata = core.getInput('metadata'); outputFilePath = await validateOutputFilePath(outputFilePath); validateGhPagesBranch(ghPagesBranch); @@ -272,5 +274,6 @@ export async function configFromJobInput(): Promise { chartXAxis, oneChartGroups, overwriteAssets, + metadata, }; } diff --git a/src/extract.ts b/src/extract.ts index 03acba690..c0cfe79c9 100644 --- a/src/extract.ts +++ b/src/extract.ts @@ -182,6 +182,9 @@ export async function extractResult(config: Config): Promise { const output = await fs.readFile(config.outputFilePath, 'utf8'); const benches = extractPytestResult(output); + if (config.metadata !== '') { + benches.extra['gh-metadata'] = config.metadata; + } if (benches.results.length === 0) { throw new Error(`No benchmark result was found in ${config.outputFilePath}. Benchmark output was '${output}'`); diff --git a/test/write.ts b/test/write.ts index e5c4bc030..b64f4afbf 100644 --- a/test/write.ts +++ b/test/write.ts @@ -192,6 +192,7 @@ describe('writeBenchmark()', function() { chartXAxis: 'id', oneChartGroups: [], overwriteAssets: false, + metadata: '', }; const savedRepository = gitHubContext.payload.repository; @@ -834,6 +835,7 @@ describe('writeBenchmark()', function() { chartXAxis: 'id', oneChartGroups: [], overwriteAssets: false, + metadata: '', }; function gitHistory(