diff --git a/CHANGELOG.md b/CHANGELOG.md index ee94de5..a14843c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Delta Coverage Action +## 1.1 + +- Added custom script to generate extra check run content + ## 1.0 - Now the action generates coverage badges for each test view. diff --git a/action.yaml b/action.yaml index 7234943..998eb93 100644 --- a/action.yaml +++ b/action.yaml @@ -25,6 +25,11 @@ inputs: required: false default: 'delta-coverage' + check-run-extra-render-script: + description: 'Script to render additional info in check run.' + required: false + default: '' + outputs: badges-dir: description: 'Directory with generated badges.' @@ -95,6 +100,12 @@ runs: github-token: ${{ inputs.github-token }} script: | const createCheckRuns = require('${{ github.action_path }}/src/create-check-runs.js'); + const extraRenderScript = (view) => { + const script = ${{ inputs.check-run-extra-render-script || '(v) => ""' }}; + try { return script(view) } catch(e) { + return `Error in custom script: ${e}` + }; + }; const checkRuns = await createCheckRuns({ summaryReportPath: `${{ steps.all-summaries.outputs.delta }}`, ignoreCoverageFailure: ${{ steps.check-suppress.outputs.suppress }}, @@ -102,7 +113,8 @@ runs: context: context, github: github, headSha: `${{ github.event.pull_request.head.sha || github.sha }}`, - externalId: `${{ inputs.external-id }}` + externalId: `${{ inputs.external-id }}`, + summaryExtraFun: extraRenderScript }); core.setOutput('check-runs', checkRuns); diff --git a/src/create-check-runs.js b/src/create-check-runs.js index aed5ec0..67b05e0 100644 --- a/src/create-check-runs.js +++ b/src/create-check-runs.js @@ -31,7 +31,8 @@ module.exports = async (ctx) => { const createCheckRun = async (view) => { const conclusion = computeViewConclusion(view); const viewName = capitalize(view.view); - const summary = `${readViewMarkdownReport(view)}\n\n`; + const summaryExtra = ctx.summaryExtraFun ? ctx.summaryExtraFun(view) : ''; + const summary = `${readViewMarkdownReport(view)}\n\n\n${summaryExtra}`; const response = await ctx.github.rest.checks.create({ owner: ctx.context.repo.owner,