integration-tests.yml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. name: Build & Run Integration Tests
  2. on:
  3. push:
  4. branches: [ v2_release, v2_develop ]
  5. paths-ignore:
  6. - '**.md'
  7. pull_request:
  8. branches: [ v2_release, v2_develop ]
  9. paths-ignore:
  10. - '**.md'
  11. jobs:
  12. build_and_test_debug:
  13. runs-on: ${{ matrix.os }}
  14. strategy:
  15. # Turn off fail-fast to let all runners run even if there are errors
  16. fail-fast: true
  17. matrix:
  18. os: [ ubuntu-latest, windows-latest, macos-latest ]
  19. timeout-minutes: 10
  20. steps:
  21. - name: Checkout code
  22. uses: actions/checkout@v4
  23. - name: Setup .NET Core
  24. uses: actions/setup-dotnet@v4
  25. with:
  26. dotnet-version: 8.x
  27. dotnet-quality: 'ga'
  28. - name: Install dependencies
  29. run: |
  30. dotnet restore
  31. - name: Build IntegrationTests
  32. run: dotnet build Tests/IntegrationTests --configuration Debug --no-restore
  33. - name: Set VSTEST_DUMP_PATH
  34. shell: bash
  35. run: echo "{VSTEST_DUMP_PATH}={logs/${{ runner.os }}/}" >> $GITHUB_ENV
  36. - name: Run IntegrationTests
  37. run: |
  38. 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
  39. # mv -v Tests/IntegrationTests/TestResults/*/*.* TestResults/IntegrationTests/
  40. - name: Upload Test Logs
  41. if: always()
  42. uses: actions/upload-artifact@v4
  43. with:
  44. name: integration-test-logs-${{ runner.os }}
  45. path: |
  46. logs/
  47. TestResults/IntegrationTests/