# ==================================================================================================================== # # Authors: # # Patrick Lehmann # # Unai Martinez-Corral # # # # ==================================================================================================================== # # Copyright 2020-2024 The pyTooling Authors # # # # Licensed under the Apache License, Version 2.0 (the "License"); # # you may not use this file except in compliance with the License. # # You may obtain a copy of the License at # # # # http://www.apache.org/licenses/LICENSE-2.0 # # # # Unless required by applicable law or agreed to in writing, software # # distributed under the License is distributed on an "AS IS" BASIS, # # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # # See the License for the specific language governing permissions and # # limitations under the License. # # # # SPDX-License-Identifier: Apache-2.0 # # ==================================================================================================================== # name: Publish Unit Test Results on: workflow_call: inputs: merged_junit_artifact: description: 'Name of the merged JUnit Test Summary artifact.' required: false default: '' type: string jobs: PublishTestResults: name: 📊 Publish Test Results runs-on: ubuntu-latest if: always() steps: - name: ⏬ Checkout repository uses: actions/checkout@v4 - name: Download Artifacts uses: actions/download-artifact@v4 with: path: artifacts - name: 🔧 Install junitparser run: | python -m pip install --disable-pip-version-check -U pyEDAA.Reports - name: Move JUnit files and collect them all to junit/ run: | mkdir -p junit find . -type f -path "*artifacts*UnitTestReportSummary*.xml" -exec sh -c 'cp -v $0 "junit/$(basename $(dirname $0)).$(basename $0)"' {} ';' tree -a junit - name: 🔁 Merge JUnit Unit Test Summaries run: | pyedaa-reports merge-unittest -v --junit "junit/*.xml" echo "cat Unittesting.xml" cat Unittesting.xml - name: 📊 Publish Unit Test Results uses: dorny/test-reporter@v1 with: name: Unit Test Results path: Unittesting.xml reporter: java-junit - name: 📤 Upload merged 'JUnit Test Summary' artifact if: inputs.merged_junit_artifact != '' uses: actions/upload-artifact@v4 with: name: ${{ inputs.merged_junit_artifact }} path: Unittesting.xml if-no-files-found: error retention-days: 1