name: '🏗️ Build Plugin' on: push: branches: - master paths-ignore: - '**/*.md' pull_request: branches: - master paths-ignore: - '**/*.md' workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Verify .NET installation run: dotnet --version - name: Restore dependencies run: dotnet restore Jellyfin.Plugin.SRFPlay.sln - name: Build solution run: dotnet build Jellyfin.Plugin.SRFPlay.sln --configuration Release --no-restore - name: Run tests run: dotnet test Jellyfin.Plugin.SRFPlay.sln --no-build --configuration Release --verbosity normal - name: Install JPRM run: | pip install --user jprm - name: Build Jellyfin Plugin id: jprm run: | # Build plugin using JPRM python -m jprm --verbosity=debug plugin build ./ # Find the generated zip file ARTIFACT=$(find . -name "*.zip" -type f -print -quit) echo "artifact=${ARTIFACT}" >> $GITHUB_OUTPUT echo "Found artifact: ${ARTIFACT}" - name: Upload build artifact uses: actions/upload-artifact@v4 with: name: jellyfin-srfplay-plugin path: ${{ steps.jprm.outputs.artifact }} retention-days: 30 if-no-files-found: error