|
@@ -0,0 +1,50 @@
|
|
|
+name: Tests
|
|
|
+on:
|
|
|
+ push:
|
|
|
+ branches:
|
|
|
+ - master
|
|
|
+ # Run tests against the forked branch, but
|
|
|
+ # do not allow access to secrets
|
|
|
+ # https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflows-in-forked-repositories
|
|
|
+ pull_request:
|
|
|
+
|
|
|
+env:
|
|
|
+ SDK_VERSION: "7.0.x"
|
|
|
+
|
|
|
+jobs:
|
|
|
+ run-tests:
|
|
|
+ strategy:
|
|
|
+ matrix:
|
|
|
+ os: ["ubuntu-latest", "macos-latest", "windows-latest"]
|
|
|
+
|
|
|
+ runs-on: "${{ matrix.os }}"
|
|
|
+ steps:
|
|
|
+ - uses: actions/checkout@v4
|
|
|
+
|
|
|
+ - uses: actions/setup-dotnet@v3
|
|
|
+ with:
|
|
|
+ dotnet-version: ${{ env.SDK_VERSION }}
|
|
|
+
|
|
|
+ - name: Run DotNet CLI Tests
|
|
|
+ run: >
|
|
|
+ dotnet test Jellyfin.sln
|
|
|
+ --configuration Release
|
|
|
+ --collect:"XPlat Code Coverage"
|
|
|
+ --settings tests/coverletArgs.runsettings
|
|
|
+ --verbosity minimal
|
|
|
+
|
|
|
+ - name: Merge code coverage results
|
|
|
+ uses: danielpalme/ReportGenerator-GitHub-Action@5
|
|
|
+ with:
|
|
|
+ reports: "**/coverage.cobertura.xml"
|
|
|
+ targetdir: "merged/"
|
|
|
+ reporttypes: "Cobertura"
|
|
|
+
|
|
|
+ # TODO - which action / tool to use to publish code coverage results?
|
|
|
+ # - name: Publish code coverage results
|
|
|
+
|
|
|
+ - name: Publish OpenAPI Artifact
|
|
|
+ uses: actions/upload-artifact@v3
|
|
|
+ with:
|
|
|
+ name: "OpenAPI Spec"
|
|
|
+ path: "tests/Jellyfin.Server.Integration.Tests/bin/Release/net*/openapi.json"
|