diff --git a/.config/nextest.toml b/.config/nextest.toml new file mode 100644 index 00000000000..4dd517b63c4 --- /dev/null +++ b/.config/nextest.toml @@ -0,0 +1,2 @@ +[profile.with-xml.junit] +path = "junit.xml" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d5d04efc9a9..523e909c8e2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -80,6 +80,31 @@ jobs: - name: Check that tracked archives are up to date run: git diff --exit-code # If this fails, the fix is usually to commit a regenerated archive. + test-fixtures-windows: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + - uses: Swatinem/rust-cache@v2 + - uses: taiki-e/install-action@v2 + with: + tool: nextest + - name: "Test (nextest)" + id: nextest + env: + GIX_TEST_IGNORE_ARCHIVES: 1 + run: cargo nextest --profile=with-xml run --workspace --no-fail-fast + continue-on-error: true + - name: Check how many tests failed + if: steps.nextest.outcome == 'failure' + env: + # See https://github.com/GitoxideLabs/gitoxide/issues/1358. + EXPECTED_FAILURE_COUNT: 14 + run: | + [xml]$junit = Get-Content -Path 'target/nextest/with-xml/junit.xml' + if ($junit.testsuites.errors -ne 0) { exit 1 } + if ($junit.testsuites.failures -gt $env:EXPECTED_FAILURE_COUNT) { exit 1 } + test-32bit: runs-on: ubuntu-latest strategy: