name: Build & Test

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

jobs:
  build:
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest]

    runs-on: ${{ matrix.os }}

    steps:
    - uses: actions/checkout@v2
    - name: Setup submodule
      run: |
        git submodule update --init --recursive
        touch BuildChecker/DISABLE_SUBMODULE_AUTOUPDATE
    - name: Pull engine updates
      uses: ivanbakel/submodule-dependency@v0.1.1
    - name: Update Engine Submodules
      run: |
        cd RobustToolbox/
        git submodule update --init --recursive
    - name: Setup .NET Core
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 5.0.100
    - name: Install dependencies
      run: dotnet restore
    - name: Build
      run: dotnet build --configuration Release --no-restore /p:WarningsAsErrors=nullable
    - name: Content.Tests
      run: dotnet test --no-build Content.Tests/Content.Tests.csproj -v n
    - name: Content.IntegrationTests
      run: dotnet test --no-build Content.IntegrationTests/Content.IntegrationTests.csproj -v n
