diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 2f37a0b..e9692fb 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -22,23 +22,24 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v4 - - - name: Clean workspace - run: | - dotnet build-server shutdown || true - rm -rf */bin */obj + with: + path: build-${{ github.run_id }} - name: Restore dependencies + working-directory: build-${{ github.run_id }} run: dotnet restore Jellyfin.Plugin.SRFPlay.sln - name: Build solution - run: dotnet build Jellyfin.Plugin.SRFPlay.sln --configuration Release --no-restore --no-self-contained --disable-build-servers + working-directory: build-${{ github.run_id }} + run: dotnet build Jellyfin.Plugin.SRFPlay.sln --configuration Release --no-restore --no-self-contained - name: Run tests + working-directory: build-${{ github.run_id }} run: dotnet test Jellyfin.Plugin.SRFPlay.sln --no-build --configuration Release --verbosity normal - name: Build Jellyfin Plugin id: jprm + working-directory: build-${{ github.run_id }} run: | mkdir -p artifacts jprm --verbosity=debug plugin build . @@ -50,6 +51,10 @@ jobs: uses: actions/upload-artifact@v3 with: name: jellyfin-srfplay-plugin - path: ${{ steps.jprm.outputs.artifact }} + path: build-${{ github.run_id }}/${{ steps.jprm.outputs.artifact }} retention-days: 30 if-no-files-found: error + + - name: Cleanup + if: always() + run: rm -rf build-${{ github.run_id }} diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index b15c895..7534277 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -20,6 +20,8 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v4 + with: + path: release-${{ github.run_id }} - name: Get version id: get_version @@ -34,27 +36,27 @@ jobs: echo "Building version: ${VERSION}" - name: Update build.yaml with version + working-directory: release-${{ github.run_id }} run: | VERSION="${{ steps.get_version.outputs.version_number }}" sed -i "s/^version:.*/version: \"${VERSION}\"/" build.yaml cat build.yaml - - name: Clean workspace - run: | - dotnet build-server shutdown || true - rm -rf */bin */obj - - name: Restore dependencies + working-directory: release-${{ github.run_id }} run: dotnet restore Jellyfin.Plugin.SRFPlay.sln - name: Build solution - run: dotnet build Jellyfin.Plugin.SRFPlay.sln --configuration Release --no-restore --no-self-contained --disable-build-servers + working-directory: release-${{ github.run_id }} + run: dotnet build Jellyfin.Plugin.SRFPlay.sln --configuration Release --no-restore --no-self-contained - name: Run tests + working-directory: release-${{ github.run_id }} run: dotnet test Jellyfin.Plugin.SRFPlay.sln --no-build --configuration Release --verbosity normal - name: Build Jellyfin Plugin id: jprm + working-directory: release-${{ github.run_id }} run: | mkdir -p artifacts jprm --verbosity=debug plugin build ./ @@ -66,12 +68,14 @@ jobs: - name: Calculate checksum id: checksum + working-directory: release-${{ github.run_id }} run: | CHECKSUM=$(md5sum "${{ steps.jprm.outputs.artifact }}" | awk '{print $1}') echo "checksum=${CHECKSUM}" >> $GITHUB_OUTPUT echo "Checksum: ${CHECKSUM}" - name: Create Release + working-directory: release-${{ github.run_id }} env: GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | @@ -129,6 +133,7 @@ jobs: echo "View at: ${GITEA_URL}/${REPO_OWNER}/${REPO_NAME}/releases/tag/${{ steps.get_version.outputs.version }}" - name: Update manifest.json + working-directory: release-${{ github.run_id }} env: GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | @@ -162,3 +167,7 @@ jobs: git add manifest.json git commit -m "Update manifest.json for version ${VERSION}" git push origin master + + - name: Cleanup + if: always() + run: rm -rf release-${{ github.run_id }} diff --git a/.gitea/workflows/test.yaml b/.gitea/workflows/test.yaml index 2e5c501..7d10ed5 100644 --- a/.gitea/workflows/test.yaml +++ b/.gitea/workflows/test.yaml @@ -24,19 +24,19 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v4 - - - name: Clean workspace - run: | - dotnet build-server shutdown || true - rm -rf */bin */obj + with: + path: test-${{ github.run_id }} - name: Restore dependencies + working-directory: test-${{ github.run_id }} run: dotnet restore Jellyfin.Plugin.SRFPlay.sln - name: Build solution - run: dotnet build Jellyfin.Plugin.SRFPlay.sln --configuration Debug --no-restore --no-self-contained --disable-build-servers + working-directory: test-${{ github.run_id }} + run: dotnet build Jellyfin.Plugin.SRFPlay.sln --configuration Debug --no-restore --no-self-contained - name: Run tests + working-directory: test-${{ github.run_id }} run: dotnet test Jellyfin.Plugin.SRFPlay.sln --no-build --configuration Debug --verbosity normal --logger "trx;LogFileName=test-results.trx" - name: Upload test results @@ -44,5 +44,9 @@ jobs: uses: actions/upload-artifact@v3 with: name: test-results - path: '**/test-results.trx' + path: test-${{ github.run_id }}/**/test-results.trx retention-days: 7 + + - name: Cleanup + if: always() + run: rm -rf test-${{ github.run_id }}