name: s&box CI

on: [push, pull_request]

jobs:
  build-and-lint:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Code
        uses: actions/checkout@v4

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

      - name: Restore Dependencies
        run: dotnet restore

      - name: Lint Check
        # Fails if code isn't formatted according to .editorconfig
        run: dotnet format --verify-no-changes --verbosity diagnostic

      - name: Build Project
        # Ensures everything compiles
        run: dotnet build --no-restore --configuration Release
