From 3a0d84c4f8c1c5922c737df375255630580e7ddb Mon Sep 17 00:00:00 2001 From: Isaac Devine Date: Tue, 25 Aug 2026 11:28:34 +1200 Subject: [PATCH 1/2] Run Unit Tests on Windows as well Adds Windows as a target for running the non-docker unit tests. This is so errors that only appear on Windows are more easily caught. --- .github/workflows/ci.yml | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e7f90409..317fe9c7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -67,12 +67,13 @@ jobs: test: name: Run tests - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} #needs: build-code strategy: fail-fast: false matrix: + os: [ "ubuntu-latest", "windows-latest" ] category: [ "Basic_tests", "SqlServer", "SqlServerCaseSensitive", "PostgreSQL", "MariaDB", "Sqlite", "Oracle" ] #category: [ "Basic_tests", "Sqlite" ] @@ -86,12 +87,12 @@ jobs: 9.0.x 10.0.x - name: Test + shell: pwsh run: | - dotnet test \ - --project unittests/${{ matrix.category }} \ - --coverage \ - --coverage-output-format xml \ - --coverage-output /tmp/test-results/${{ matrix.category }}.xml + $outDir = Join-Path "${{ runner.temp }}" "test-results" + New-Item -ItemType Directory -Path $outDir -Force | Out-Null + + dotnet test --project unittests/${{ matrix.category }} --coverage --coverage-output-format xml --coverage-output "$outDir/${{ matrix.category }}.xml" env: LogLevel: Warning TZ: UTC @@ -100,9 +101,9 @@ jobs: if: always() uses: actions/upload-artifact@v7 with: - name: "${{ matrix.category }} XML test results" + name: "${{ matrix.os }} ${{ matrix.category }} XML test results" path: | - /tmp/test-results/${{ matrix.category }}.xml + ${{ runner.temp }}/test-results/${{ matrix.category }}.xml retention-days: 1 From 77c6e74881ccc6e11c0d17aa8f6a173bb170ff8c Mon Sep 17 00:00:00 2001 From: Isaac Devine Date: Tue, 25 Aug 2026 11:43:43 +1200 Subject: [PATCH 2/2] Skip Docker Tests on Windows --- .github/workflows/ci.yml | 55 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 52 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 317fe9c7..3f1e296b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,8 +73,46 @@ jobs: strategy: fail-fast: false matrix: - os: [ "ubuntu-latest", "windows-latest" ] - category: [ "Basic_tests", "SqlServer", "SqlServerCaseSensitive", "PostgreSQL", "MariaDB", "Sqlite", "Oracle" ] + include: + - os: ubuntu-latest + category: Basic_tests + test_filter: '' + - os: ubuntu-latest + category: SqlServer + test_filter: '' + - os: ubuntu-latest + category: SqlServerCaseSensitive + test_filter: '' + - os: ubuntu-latest + category: PostgreSQL + test_filter: '' + - os: ubuntu-latest + category: MariaDB + test_filter: '' + - os: ubuntu-latest + category: Sqlite + test_filter: '' + - os: ubuntu-latest + category: Oracle + test_filter: '' + - os: windows-latest + category: Basic_tests + test_filter: '' + - os: windows-latest + category: Sqlite + test_filter: '' + - os: windows-latest + category: SqlServer + test_filter: FullyQualifiedName~SqlServer.Basic_tests + - os: windows-latest + category: SqlServerCaseSensitive + test_filter: FullyQualifiedName~SqlServerCaseSensitive.Basic_tests + - os: windows-latest + category: MariaDB + test_filter: FullyQualifiedName~MariaDB.Basic_tests + - os: windows-latest + category: Oracle + test_filter: FullyQualifiedName~Oracle.Basic_tests #category: [ "Basic_tests", "Sqlite" ] steps: @@ -92,7 +130,18 @@ jobs: $outDir = Join-Path "${{ runner.temp }}" "test-results" New-Item -ItemType Directory -Path $outDir -Force | Out-Null - dotnet test --project unittests/${{ matrix.category }} --coverage --coverage-output-format xml --coverage-output "$outDir/${{ matrix.category }}.xml" + $args = @( + "--project", "unittests/${{ matrix.category }}", + "--coverage", + "--coverage-output-format", "xml", + "--coverage-output", "$outDir/${{ matrix.category }}.xml" + ) + + if ("${{ matrix.test_filter }}") { + $args += @("--filter", "${{ matrix.test_filter }}") + } + + dotnet test @args env: LogLevel: Warning TZ: UTC