Run system tests #38
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Run system tests | |
on: | |
workflow_call: | |
workflow_dispatch: | |
jobs: | |
run_system_tests: | |
name: Run system tests | |
runs-on: | |
- self-hosted | |
- windows | |
- x64 | |
- rdss-nidaqmxbot-${{ matrix.configuration }} | |
strategy: | |
matrix: | |
configuration: ["win-10-py32", "win-10-py64"] | |
# Fail-fast skews the pass/fail ratio and seems to make pytest produce | |
# incomplete JUnit XML results. | |
fail-fast: false | |
timeout-minutes: 90 | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: poetry install | |
- name: Run system tests | |
run: poetry run tox | |
- name: Rename test results | |
# TODO: Add Git Bash to the path on self-hosted Windows runners | |
run: Get-ChildItem test_results/*.xml | Rename-Item -NewName { $_.Name -replace '.xml','-${{ matrix.configuration }}.xml' } | |
if: always() && runner.os == 'Windows' | |
- name: Rename test results | |
run: | | |
for result in test_results/*.xml; do | |
mv $result ${result%.xml}-${{ matrix.configuration }}.xml | |
done | |
if: always() && runner.os != 'Windows' | |
- name: Upload test results | |
uses: actions/upload-artifact@v3 | |
with: | |
name: test_results | |
path: test_results/*.xml | |
if: always() |