Try modified coveralls action

This commit is contained in:
Jordan Brown
2022-09-15 20:21:02 -04:00
parent 6368c8339f
commit 4bb600c82c
3 changed files with 35 additions and 107 deletions
+33 -98
View File
@@ -125,6 +125,7 @@ jobs:
linux-unit-tests:
name: Linux Unit Tests
strategy:
fail-fast: false
matrix:
configuration: [ 'Debug', 'Release' ]
runs-on: ubuntu-latest
@@ -146,15 +147,18 @@ jobs:
- name: Run Unit Tests
run: sudo dotnet test tgstation-server.sln --no-build --filter FullyQualifiedName!~IntegrationTest -l "console;verbosity=detailed;noprogress=true" -c ${{ matrix.configuration }}NoService --collect:"XPlat Code Coverage" --settings build/coverlet.runsettings -r ./TestResults
- name: Store Code Coverage
uses: actions/upload-artifact@v3
- name: Coveralls Upload
uses: Cyberboss/coveralls-action@master
with:
name: linux-unit-test-coverage-${{ matrix.configuration }}
path: ./TestResults/
github-token: ${{ secrets.github_token }}
path-to-lcov: ./TestResults/**/coverage.info
flag-name: linux-unit-test-coverage-${{ matrix.configuration }}
parallel: true
windows-unit-tests:
name: Windows Unit Tests
strategy:
fail-fast: false
matrix:
configuration: [ 'Release' ]
runs-on: windows-latest
@@ -176,11 +180,13 @@ jobs:
- name: Run Unit Tests
run: dotnet test tgstation-server.sln --no-build --filter FullyQualifiedName!~IntegrationTest -l "console;verbosity=detailed;noprogress=true" -c ${{ matrix.configuration }} --collect:"XPlat Code Coverage" --settings build/coverlet.runsettings -r ./TestResults
- name: Store Code Coverage
uses: actions/upload-artifact@v3
- name: Coveralls Upload
uses: coverallsapp/github-action@master
with:
name: windows-unit-test-coverage-${{ matrix.configuration }}
path: ./TestResults/
github-token: ${{ secrets.github_token }}
path-to-lcov: ./TestResults/**/coverage.info
flag-name: windows-unit-test-coverage-${{ matrix.configuration }}
parallel: true
windows-integration-test:
name: Windows Integration Test
@@ -189,6 +195,7 @@ jobs:
TGS_TEST_DATABASE_TYPE: SqlServer
TGS_TEST_DUMP_API_SPEC: yes
strategy:
fail-fast: false
matrix:
watchdog-type: [ 'Basic', 'System' ]
configuration: [ 'Debug', 'Release' ]
@@ -236,11 +243,13 @@ jobs:
Start-Sleep -Seconds 10
dotnet test -c ${{ matrix.configuration }} -l "console;verbosity=detailed;noprogress=true" --collect:"XPlat Code Coverage" --settings ../../build/coverlet.runsettings -r ./TestResults
- name: Store Code Coverage
uses: actions/upload-artifact@v3
- name: Coveralls Upload
uses: coverallsapp/github-action@master
with:
name: windows-integration-test-coverage-${{ matrix.configuration }}-${{ matrix.watchdog-type }}
path: tests/Tgstation.Server.Tests/TestResults/
github-token: ${{ secrets.github_token }}
path-to-lcov: ./TestResults/**/coverage.info
flag-name: windows-integration-test-coverage-${{ matrix.configuration }}-${{ matrix.watchdog-type }}
parallel: true
- name: Store OpenAPI Spec
if: ${{ matrix.configuration == 'Release' && matrix.watchdog-type == 'System' }}
@@ -303,6 +312,7 @@ jobs:
--health-timeout=5s
--health-retries=3
strategy:
fail-fast: false
matrix:
database-type: [ 'Sqlite', 'PostgresSql', 'MariaDB', 'MySql' ]
watchdog-type: [ 'System' ]
@@ -384,11 +394,13 @@ jobs:
sleep 10
dotnet test -c ${{ matrix.configuration }}NoService -l "console;verbosity=detailed;noprogress=true" --collect:"XPlat Code Coverage" --settings ../../build/coverlet.runsettings -r ./TestResults
- name: Store Code Coverage
uses: actions/upload-artifact@v3
- name: Coveralls Upload
uses: coverallsapp/github-action@master
with:
name: linux-integration-test-coverage-${{ matrix.configuration }}-${{ matrix.watchdog-type }}-${{ matrix.database-type }}
path: tests/Tgstation.Server.Tests/TestResults/
github-token: ${{ secrets.github_token }}
path-to-lcov: ./TestResults/**/coverage.info
flag-name: linux-integration-test-coverage-${{ matrix.configuration }}-${{ matrix.watchdog-type }}-${{ matrix.database-type }}
parallel: true
- name: Package Server Console
if: ${{ matrix.configuration == 'Release' && matrix.watchdog-type == 'System' && matrix.database-type == 'MariaDB' }}
@@ -446,92 +458,15 @@ jobs:
run: npx lint-openapi -v -p -c build/OpenApiValidationSettings.json ./swagger/swagger.json
upload-code-coverage:
name: Upload Code Coverage
name: Complete Code Coverage Upload
needs: [linux-unit-tests, linux-integration-tests, windows-unit-tests, windows-integration-test]
runs-on: ubuntu-latest
steps:
- name: Checkout for .codecov.yml
uses: actions/checkout@v3
- name: Retrieve Linux Unit Test Coverage (Debug)
uses: actions/download-artifact@v3
- name: Coveralls Finished
uses: coverallsapp/github-action@master
with:
name: linux-unit-test-coverage-Debug
path: ./code_coverage/unit_tests/linux_unit_tests_debug
- name: Retrieve Linux Unit Test Coverage (Release)
uses: actions/download-artifact@v3
with:
name: linux-unit-test-coverage-Release
path: ./code_coverage/unit_tests/linux_unit_tests_release
- name: Retrieve Linux Integration Test Coverage (Release, System, Sqlite)
uses: actions/download-artifact@v3
with:
name: linux-integration-test-coverage-Release-System-Sqlite
path: ./code_coverage/integration_tests/linux_integration_tests_release_system_sqlite
- name: Retrieve Linux Integration Test Coverage (Release, System, PostgresSql)
uses: actions/download-artifact@v3
with:
name: linux-integration-test-coverage-Release-System-PostgresSql
path: ./code_coverage/integration_tests/linux_integration_tests_release_system_mariadb
- name: Retrieve Linux Integration Test Coverage (Release, System, MariaDB)
uses: actions/download-artifact@v3
with:
name: linux-integration-test-coverage-Release-System-MariaDB
path: ./code_coverage/integration_tests/linux_integration_tests_release_system_mysql
- name: Retrieve Linux Integration Test Coverage (Release, System, MySql)
uses: actions/download-artifact@v3
with:
name: linux-integration-test-coverage-Release-System-MySql
path: ./code_coverage/integration_tests/linux_integration_tests_release_system_mysql
- name: Retrieve Windows Unit Test Coverage (Release)
uses: actions/download-artifact@v3
with:
name: windows-unit-test-coverage-Release
path: ./code_coverage/unit_tests/windows_unit_tests_release
- name: Retrieve Windows Integration Test Coverage (Debug, Basic)
uses: actions/download-artifact@v3
with:
name: windows-integration-test-coverage-Debug-Basic
path: ./code_coverage/integration_tests/windows_integration_tests_debug_basic
- name: Retrieve Windows Integration Test Coverage (Release, Basic)
uses: actions/download-artifact@v3
with:
name: windows-integration-test-coverage-Release-Basic
path: ./code_coverage/integration_tests/windows_integration_tests_release_basic
- name: Retrieve Windows Integration Test Coverage (Debug, System)
uses: actions/download-artifact@v3
with:
name: windows-integration-test-coverage-Debug-System
path: ./code_coverage/integration_tests/windows_integration_tests_debug_system
- name: Retrieve Windows Integration Test Coverage (Release, System)
uses: actions/download-artifact@v3
with:
name: windows-integration-test-coverage-Release-System
path: ./code_coverage/integration_tests/windows_integration_tests_release_system
- name: Upload Unit Test Coverage to CodeCov
uses: codecov/codecov-action@v3
with:
directory: ./code_coverage/unit_tests
flags: unittests
fail_ci_if_error: true
- name: Upload Integration Test Coverage to CodeCov
uses: codecov/codecov-action@v3
with:
directory: ./code_coverage/integration_tests
flags: integration
fail_ci_if_error: true
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true
deploy-http:
name: Deploy HTTP API