name: Tests

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]
  workflow_dispatch:

jobs:

  build:

    strategy:
      matrix:
        configuration: [Release]

    runs-on: windows-latest  # For a list of available runner types, refer to
                             # https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on

    env:
      Solution_Name: Remotely.sln                               # Replace with your solution name, i.e. MyWpfApp.sln.
      Configuration: ${{ matrix.configuration }}
      Test_Project_Path: Tests\Tests.csproj                     # Replace with the path to your test project, i.e. MyWpfApp.Tests\MyWpfApp.Tests.csproj.

    steps:
    - name: Checkout
      uses: actions/checkout@v3.5.2
      with:
        submodules: recursive
        fetch-depth: 0

    # Install the .NET Core workload
    - name: Install .NET Core
      uses: actions/setup-dotnet@v3.0.3
      with:
        dotnet-version: 7
      
    # Add  MSBuild to the PATH: https://github.com/microsoft/setup-msbuild
    - name: Setup MSBuild.exe
      uses: microsoft/setup-msbuild@v1

    # Execute all unit tests in the solution
    - name: Execute unit tests
      run: dotnet test
