name: Publish Platform NuGet Packages

on:
  push:
    branches:
      - main
    tags:
      - "v*"

env:
  GITEA_TOKEN: ${{ secrets.GITEATOKEN }}
  GITEA_URL: https://gitea.shtao1.cn

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      
      - name: Setup .NET
        uses: actions/setup-dotnet@v4
        with:
          dotnet-version: "10.0.x"
      
      - name: Pack Domain
        if: startsWith(github.ref, 'refs/tags/v')
        run: dotnet pack Fengling.Platform.Domain/Fengling.Platform.Domain.csproj -c Release -o ./packages
      
      - name: Pack Infrastructure
        if: startsWith(github.ref, 'refs/tags/v')
        run: dotnet pack Fengling.Platform.Infrastructure/Fengling.Platform.Infrastructure.csproj -c Release -o ./packages
      
      - name: Push to Gitea
        if: startsWith(github.ref, 'refs/tags/v')
        run: |
          for pkg in ./packages/*.nupkg; do
            dotnet nuget push "$pkg" \
              --source "$GITEA_URL/api/packages/fengling/nuget/index.json" \
              --api-key "$GITEA_TOKEN" \
              --skip-duplicate
          done
