diff --git a/.gitea/workflows/release-package.yaml b/.gitea/workflows/release-package.yaml index e08926e..5207915 100644 --- a/.gitea/workflows/release-package.yaml +++ b/.gitea/workflows/release-package.yaml @@ -5,55 +5,53 @@ on: types: [published] jobs: - package: - runs-on: ubuntu-latest - strategy: - matrix: - project: [ArgumentsToolkit, ArgumentsToolkit.Core, ArgumentsToolkit.Help, ArgumentsToolkit.Validation] - - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Setup .NET - uses: actions/setup-dotnet@v4 - with: - dotnet-version: 8.0.x - - - name: Set version from tag - id: version - run: | - TAG="${GITHUB_REF_NAME#v}" - echo "PACKAGE_VERSION=$TAG" >> $GITHUB_OUTPUT - - - name: Restore ${{ matrix.project }} - run: dotnet restore ${{ matrix.project }} - - - name: Build ${{ matrix.project }} - run: dotnet build ${{ matrix.project }} -c Release -p:Version=${{ steps.version.outputs.PACKAGE_VERSION }} - - - name: Pack ${{ matrix.project }} - run: dotnet pack ${{ matrix.project }} -c Release --no-build -p:PackageVersion=${{ steps.version.outputs.PACKAGE_VERSION }} -o ./artifacts - - - name: Upload package artifacts - uses: actions/upload-artifact@v3 - with: - name: nuget-packages - path: artifacts/*.nupkg - - publish: + pack-and-publish: runs-on: ubuntu-latest - needs: pack-and-publish + steps: - - name: Download artifacts - uses: actions/download-artifact@v3 + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.0.x + + - name: Set version from tag + id: version + run: | + TAG="${GITHUB_REF_NAME#v}" + echo "PACKAGE_VERSION=$TAG" >> $GITHUB_OUTPUT + + + - name: Build and Pack projects + run: | + mkdir -p artifacts + for proj in $PROJECTS; do + echo "Restoring $proj..." + dotnet restore $proj + echo "Building $proj..." + dotnet build $proj -c Release -p:Version=${{ steps.version.outputs.PACKAGE_VERSION }} + echo "Packing $proj..." + dotnet pack $proj -c Release --no-build -p:PackageVersion=${{ steps.version.outputs.PACKAGE_VERSION }} -o ./artifacts + done + env: + PROJECTS: | + ArgumentsToolkit + ArgumentsToolkit.Core + ArgumentsToolkit.Help + ArgumentsToolkit.Validation + + + - name: Upload package artifacts + uses: actions/upload-artifact@v3 with: name: nuget-packages - path: ./artifacts + path: artifacts/*.nupkg - name: Publish to NuGet env: NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} - run: dotnet nuget push ./artifacts/*.nupkg --source https://git.frigat.duckdns.org/api/packages/FrigaT/nuget/index.json --api-key $NUGET_API_KEY --skip-duplicate + run: dotnet nuget push ./artifacts/*.nupkg --source https://git.frigat.duckdns.org/api/packages/FrigaT/nuget/index.json --api-key $NUGET_API_KEY --skip-duplicate \ No newline at end of file