[WIP] Verifier Testing Framework #189
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ModVerify Build & Test | |
| on: | |
| workflow_call: | |
| workflow_dispatch: | |
| push: | |
| branches: [ develop ] | |
| pull_request: | |
| branches: [ develop ] | |
| jobs: | |
| build-test: | |
| name: Build & Test | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [windows-latest, ubuntu-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| submodules: recursive | |
| - uses: actions/setup-dotnet@v5 | |
| with: | |
| dotnet-version: 10.0.x | |
| - name: Build & Test in Release Mode (Windows) | |
| if: runner.os == 'Windows' | |
| run: dotnet test --configuration Release --report-github | |
| - name: Build & Test in Release Mode (Linux) | |
| if: runner.os == 'Linux' | |
| shell: bash | |
| # ExternalUpdater.App.Test is net481-only — it spawns the real ExternalUpdater.exe | |
| # and uses Windows-only helpers (cmd .bat stubs, ping.exe). It cannot run on Linux | |
| # (no mono in the runner image, and the helpers don't exist anyway). Build the | |
| # whole solution, then test every project except that one. | |
| run: | | |
| set -euo pipefail | |
| dotnet build --configuration Release | |
| for proj in $(find . -name '*.Test.csproj' -not -path '*/ExternalUpdater.App.Test/*'); do | |
| dotnet test "$proj" --no-build --configuration Release --report-github | |
| done |