CI (full) #28
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: CI (full) | |
| # Runs the full suite that the fast PR gate skips: the Windows-only integration | |
| # tests on windows-latest and the cross-platform Docker/data-layer tests on | |
| # ubuntu-latest (MongoDB Atlas Local is a Linux container that cannot run on | |
| # hosted windows-latest). Scheduled nightly, on demand, and gated before release. | |
| on: | |
| schedule: | |
| - cron: "0 6 * * *" | |
| workflow_dispatch: | |
| concurrency: | |
| group: ci-full-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| windows-full: | |
| name: Windows build + integration tests (windows-latest) | |
| runs-on: windows-latest | |
| env: | |
| AVALONIA_UI_LICENSE_KEY: ${{ secrets.AVALONIA_UI_LICENSE_KEY }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up build | |
| uses: ./.github/actions/setup-build | |
| - name: Build (Release) | |
| shell: pwsh | |
| run: dotnet build Phantom.Workspaces.slnx -c Release --no-restore | |
| # windows-latest cannot start the Linux MongoDB container, so exclude the | |
| # SlowDocker tests here; they run in the ubuntu-latest job below. | |
| - name: Run Windows suite (excluding SlowDocker) | |
| shell: pwsh | |
| run: | | |
| dotnet test Phantom.Workspaces.slnx --no-restore --nologo -v minimal ` | |
| --filter "Category!=SlowDocker" | |
| - name: Upload Windows test logs | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ci-full-windows-logs | |
| path: scripts/test-results.log | |
| if-no-files-found: ignore | |
| linux-data-layer: | |
| name: Linux Docker/data-layer tests (ubuntu-latest) | |
| runs-on: ubuntu-latest | |
| env: | |
| AVALONIA_UI_LICENSE_KEY: ${{ secrets.AVALONIA_UI_LICENSE_KEY }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up build | |
| uses: ./.github/actions/setup-build | |
| # Only the platform-agnostic data-layer Docker/Git integration tests run on | |
| # Linux; the Windows-only GUI/scheduled-task/junction tests run above. | |
| - name: Run Docker + Git integration tests | |
| shell: pwsh | |
| run: .\scripts\run-tests.ps1 -Mode full -TestNames Phantom.Workspaces.Data.MongoDB.Tests | |
| - name: Upload Linux test logs | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ci-full-linux-logs | |
| path: scripts/test-results.log | |
| if-no-files-found: ignore |