name: '🧪 Test Plugin' on: push: branches: - master - develop paths-ignore: - '**/*.md' pull_request: branches: - master - develop paths-ignore: - '**/*.md' workflow_dispatch: jobs: test: runs-on: linux/amd64 container: image: gitea.tourolle.paris/dtourolle/jray-builder:latest steps: - name: Checkout repository uses: actions/checkout@v4 with: path: test-${{ github.run_id }} - name: Cache NuGet packages uses: actions/cache@v3 with: path: ~/.nuget/packages key: nuget-${{ hashFiles('**/Jellyfin.Plugin.JRay.csproj') }} restore-keys: nuget- - name: Restore dependencies working-directory: test-${{ github.run_id }} run: dotnet restore Jellyfin.Plugin.JRay.sln - name: Build solution working-directory: test-${{ github.run_id }} run: dotnet build Jellyfin.Plugin.JRay.sln --configuration Debug --no-restore --no-self-contained /m:1 # The workflow is named "Test Plugin" and until now only compiled one. A # test that is built but never run is not evidence, and JR-043 is the case # that makes it matter: the point of a golden vector shared with the # extraction repo is that CI fails when the two implementations drift. # T1 needs no ASP.NET runtime and no FFmpeg — the audio golden check # regenerates its own fixture PCM. - name: Run tests working-directory: test-${{ github.run_id }} run: dotnet test Jellyfin.Plugin.JRay.sln --configuration Debug --no-restore --no-build - name: Cleanup if: always() run: rm -rf test-${{ github.run_id }}