| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- name: Build & Run Integration Tests
- on:
- push:
- branches: [ v2_release, v2_develop ]
- paths-ignore:
- - '**.md'
- pull_request:
- branches: [ v2_release, v2_develop ]
- paths-ignore:
- - '**.md'
-
- jobs:
- # Call the build workflow to build the solution once
- build:
- uses: ./.github/workflows/build.yml
- integration_tests:
- name: Integration Tests
- runs-on: ${{ matrix.os }}
- needs: build
- strategy:
- # Turn off fail-fast to let all runners run even if there are errors
- fail-fast: true
- matrix:
- os: [ ubuntu-latest, windows-latest, macos-latest ]
- timeout-minutes: 10
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
- - name: Setup .NET Core
- uses: actions/setup-dotnet@v4
- with:
- dotnet-version: 8.x
- dotnet-quality: 'ga'
- - name: Download build artifacts
- uses: actions/download-artifact@v4
- with:
- name: build-artifacts
- path: .
- - name: Restore NuGet packages
- run: dotnet restore
- - name: Set VSTEST_DUMP_PATH
- shell: bash
- run: echo "{VSTEST_DUMP_PATH}={logs/${{ runner.os }}/}" >> $GITHUB_ENV
- - name: Run IntegrationTests
- run: |
- dotnet test Tests/IntegrationTests --no-build --verbosity normal --diag:logs/${{ runner.os }}/logs.txt --blame --blame-crash --blame-hang --blame-hang-timeout 60s --blame-crash-collect-always -- xunit.stopOnFail=true
-
- - name: Upload Test Logs
- if: always()
- uses: actions/upload-artifact@v4
- with:
- name: integration-test-logs-${{ runner.os }}
- path: |
- logs/
- TestResults/IntegrationTests/
|