name: "🚀 Publish Plugin" on: push: tags: ["*"] env: dotnet-version: 6.0.x python-version: 3.8 project: Jellyfin.Plugin.MetaShark/Jellyfin.Plugin.MetaShark.csproj artifact: metashark jobs: build: runs-on: ubuntu-latest name: Build & Release steps: - uses: actions/checkout@v3 - name: Get tags (For CHANGELOG) run: git fetch --depth=1 origin +refs/tags/*:refs/tags/* - name: Setup dotnet uses: actions/setup-dotnet@v3 with: dotnet-version: ${{ env.dotnet-version }} - name: Initialize workflow variables id: vars run: | VERSION=$(echo "${GITHUB_REF#refs/*/}" | sed s/^v//) VERSION="$VERSION.0" echo ::set-output name=VERSION::${VERSION} echo ::set-output name=APP_NAME::$(echo '${{ github.repository }}' | awk -F '/' '{print $2}') - name: Build run: | dotnet restore ${{ env.project }} --no-cache dotnet publish --nologo --no-restore --configuration=Release --framework=net6.0 --output=tmp -p:Version=${{steps.vars.outputs.VERSION}} ${{ env.project }} mkdir -p artifacts cp ./tmp/Jellyfin.Plugin.MetaShark.dll ./artifacts/ - name: Compress build files uses: thedoctor0/zip-release@main with: type: "zip" directory: "artifacts" filename: "artifacts.zip" exclusions: "*.json *.pdb" - name: Setup python uses: actions/setup-python@v2 with: python-version: ${{ env.python-version }} - name: Install JPRM run: python -m pip install jprm - name: Run JPRM run: chmod +x ./build.sh && ./build.sh ${{ env.artifact }} ${{steps.vars.outputs.VERSION}} ${GITHUB_REF#refs/*/} - name: Publish release uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: ./${{ env.artifact }}/${{ env.artifact }}_*.zip tag: ${{ github.ref }} file_glob: true - name: Publish manifest uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: ./manifest*.json tag: "manifest" overwrite: true file_glob: true