name: Build & Test Debug on: push: branches: [ master, staging, stable ] merge_group: pull_request: types: [ opened, reopened, synchronize, ready_for_review ] branches: [ master, staging, stable ] concurrency: group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.pull_request.number || github.ref }} cancel-in-progress: ${{ github.event_name != 'merge_group' }} jobs: build: if: github.actor != 'IanComradeBot' && github.event.pull_request.draft == false strategy: matrix: os: [ubuntu-latest] runs-on: ${{ matrix.os }} timeout-minutes: 50 steps: - name: Checkout Master uses: actions/checkout@v7 - name: Setup Submodule run: | git submodule update --init --recursive - name: Pull engine updates uses: space-wizards/submodule-dependency@v0.1.5 - name: Update Engine Submodules run: | cd RobustToolbox/ git submodule update --init --recursive - name: Setup .NET Core uses: actions/setup-dotnet@v5 with: dotnet-version: 10.0.x - name: Install dependencies run: dotnet restore - name: Build Project run: dotnet build --configuration DebugOpt --no-restore /m - name: Run Content.Tests shell: pwsh run: dotnet test --no-build --configuration DebugOpt Content.Tests/Content.Tests.csproj -- NUnit.ConsoleOut=0 NUnit.TestOutputXml="logs" NUnit.WorkDirectory="$(pwd)/test_results" - name: Run Content.IntegrationTests shell: pwsh run: | $env:DOTNET_gcServer=1 dotnet test --no-build --configuration DebugOpt Content.IntegrationTests/Content.IntegrationTests.csproj -- NUnit.ConsoleOut=0 NUnit.MapWarningTo=Failed NUnit.TestOutputXml="logs" NUnit.WorkDirectory="$(pwd)/test_results" - name: Archive NUnit3 test results. if: always() uses: actions/upload-artifact@v4 with: name: nunit3-results-${{ matrix.os }} path: test_results/* retention-days: 7 compression-level: 9 ci-success: name: Build & Test Debug needs: - build runs-on: ubuntu-latest steps: - name: CI succeeded run: exit 0