You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.1 KiB
YAML
66 lines
2.1 KiB
YAML
name: ReportTestResults
|
|
on:
|
|
workflow_run:
|
|
workflows:
|
|
- PullRequest
|
|
types:
|
|
- completed
|
|
permissions:
|
|
contents: read
|
|
actions: read
|
|
checks: write
|
|
jobs:
|
|
Report:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: 'Add default settings to node calls'
|
|
shell: bash
|
|
run: |
|
|
#
|
|
# The later used dorny/test-reporter@v1 action can throw the following exception when enough tests have been
|
|
# executed:
|
|
# RangeError: Maximum call stack size exceeded
|
|
#
|
|
# We explicitly increase the stack max. stack size here to workaround this issue.
|
|
#
|
|
|
|
which node
|
|
node --version
|
|
|
|
mv /usr/local/bin/node /usr/local/bin/node_org
|
|
echo '#!/bin/bash' >> /usr/local/bin/node
|
|
echo '/usr/local/bin/node_org --stack-size=8192 --max-old-space-size=4096 $@' >> /usr/local/bin/node
|
|
cat /usr/local/bin/node
|
|
chmod +x /usr/local/bin/node
|
|
|
|
which node
|
|
node --version
|
|
- name: 'Check Artifact'
|
|
id: CheckArtifact
|
|
uses: actions/github-script@v6
|
|
with:
|
|
script: |
|
|
var allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
|
|
owner: context.repo.owner,
|
|
repo: context.repo.repo,
|
|
run_id: ${{ github.event.workflow_run.id }},
|
|
});
|
|
|
|
var testResultsArtifacts = allArtifacts.data.artifacts.filter((artifact) => {
|
|
return artifact.name == "test-results"
|
|
});
|
|
|
|
if (testResultsArtifacts.length > 0) {
|
|
core.setOutput('testResultsArtifactAvailable', 'true');
|
|
console.log('Test results artifact found.')
|
|
}
|
|
- name: 'Publish Test Report'
|
|
if: steps.CheckArtifact.outputs.testResultsArtifactAvailable == 'true'
|
|
uses: dorny/test-reporter@v1
|
|
with:
|
|
name: 'All Tests'
|
|
artifact: test-results
|
|
path: '**/*.trx'
|
|
reporter: dotnet-trx
|
|
fail-on-error: false
|