name: Build and Publish NuGet Package on: push: branches: [ v2_ChangeArchitecture,v2.1 ] paths: - '**.csproj' pull_request: paths: - '**.csproj' workflow_dispatch: jobs: publish: runs-on: debian-12 strategy: matrix: project: - Moonlight.Client - Moonlight.ApiServer - Moonlight.Shared steps: # Step 1: Clean environment - name: Clean up Environment run: | rm -rf ./* rm -rf ./.??* # Step 2: Checkout the code - name: Checkout code uses: actions/checkout@v3 # Step 3: Build project - name: "Build project" run: dotnet build --configuration Debug ${{ matrix.project }}/${{ matrix.project }}.csproj # Step 4: Pack project - name: "Pack project" run: dotnet pack --configuration Debug --no-build --output . ${{ matrix.project }}/${{ matrix.project }}.csproj # Step 5: Publish on package registry - name: Publish on package registry" run: dotnet nuget push "*.nupkg" --skip-duplicate --api-key ${{secrets.GH_PACKAGES_READWRITE}} --source https://nuget.pkg.github.com/Moonlight-Panel/index.json