name: Deploy

on:
  push:
    tags:
      - '*'

jobs:
  desktop:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup .NET
        uses: actions/setup-dotnet@v4
        with:
          dotnet-version: 8.0.x

      - name: Build
        run: dotnet build SDL3-CS.Desktop.slnf -c Release

      - name: Pack
        run: dotnet pack SDL3-CS/SDL3-CS.csproj -c Release /p:Version=$(git describe --exact-match --tags HEAD)

      - name: Upload artifact
        uses: actions/upload-artifact@v4
        with:
          name: SDL3-CS
          path: SDL3-CS/bin/Release/ppy.*.nupkg

      - name: Publish tagged release to nuget.org
        run: dotnet nuget push SDL3-CS/bin/Release/ppy.*.nupkg -s https://api.nuget.org/v3/index.json --api-key ${{secrets.NUGET_API_KEY}}

  android:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup .NET
        uses: actions/setup-dotnet@v4
        with:
          dotnet-version: 8.0.x

      - name: Install Android workload
        run: dotnet workload install android

      - name: Build
        run: dotnet build SDL3-CS.Android.slnf -c Release

      - name: Pack
        run: dotnet pack SDL3-CS.Android/SDL3-CS.Android.csproj -c Release /p:Version=$(git describe --exact-match --tags HEAD)

      - name: Upload artifact
        uses: actions/upload-artifact@v4
        with:
          name: SDL3-CS.Android
          path: SDL3-CS.Android/bin/Release/ppy.*.nupkg

      - name: Publish tagged release to nuget.org
        run: dotnet nuget push SDL3-CS.Android/bin/Release/ppy.*.nupkg -s https://api.nuget.org/v3/index.json --api-key ${{secrets.NUGET_API_KEY}}
