name: Test
on:
  push:
    branches: ["**"]
jobs:
  test:
    name: Run tests
    runs-on: windows-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Setup MSBuild
        uses: microsoft/setup-msbuild@v1.1
      - name: Setup NuGet
        uses: nuget/setup-nuget@v1
      - name: Restore NuGet packages
        shell: powershell
        run: $(& nuget restore Elwig.sln; $a=$lastexitcode) | findstr x*; exit $a
      - name: Build Elwig
        shell: powershell
        run: $(& msbuild -verbosity:quiet Elwig/Elwig.csproj -property:Configuration=Debug; $a=$lastexitcode) | findstr x*; exit $a
      - name: Build Tests
        shell: powershell
        run: $(& dotnet build Tests; $a=$lastexitcode) | findstr x*; exit $a
      - name: Run Tests
        shell: powershell
        run: |
          $env:PATH += ";$(pwd)\Installer\Files"
          $(& dotnet test Tests; $a=$lastexitcode) | findstr x*; exit $a