diff --git a/.forgejo/workflows/build.yml b/.forgejo/workflows/build.yml new file mode 100644 index 0000000..f1b167f --- /dev/null +++ b/.forgejo/workflows/build.yml @@ -0,0 +1,44 @@ +name: Build & Test + +on: + push: + branches: [main, develop] + pull_request: + branches: [main] + +jobs: + build: + runs-on: ubuntu-latest + container: mcr.microsoft.com/dotnet/sdk:10.0 + steps: + - name: Checkout + 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: ubuntu-latest + container: mcr.microsoft.com/dotnet/sdk:10.0 + steps: + - name: Checkout + 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/ + # Only works if runner runs on same host as web server + # For remote deploy, use rsync/scp instead