name: Build & Test

on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]

jobs:
  build:
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v4

      - name: Restore dependencies
        run: dotnet restore

      - name: Build
        run: dotnet build --no-restore --configuration Release

      - name: Test
        run: dotnet test --no-build --configuration Release --verbosity normal

  publish:
    needs: build
    if: github.ref == 'refs/heads/main'
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v4

      - name: Publish Blazor WASM
        run: dotnet publish -c Release -o /tmp/publish

      - name: Deploy to hosting
        run: |
          echo "Deploying StellarisIdle Blazor WASM to /srv/web/stellaris.holoshaii.dev/"
          mkdir -p /srv/web/stellaris.holoshaii.dev
          cp -r /tmp/publish/wwwroot/* /srv/web/stellaris.holoshaii.dev/
