From 6f64be30513f5ecdc7324ee445de0fdd6baabaa5 Mon Sep 17 00:00:00 2001 From: Peter Krenesky Date: Fri, 12 Jun 2026 14:50:12 -0700 Subject: [PATCH] ci: sparse-checkout crate sources in release build jobs The build matrix only runs cargo build, so it does not need tests/. Checking out just src/ (plus root manifests) avoids tests/fixtures/contexts/CON.json, a reserved Windows device name that fails the win32 job at checkout. Also flips fail-fast off so a dry run reports every target's status at once. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/release.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8d0bd30..474a9ec 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,7 +24,7 @@ jobs: env: CARGO_NET_GIT_FETCH_WITH_CLI: "true" strategy: - fail-fast: true + fail-fast: false matrix: include: - target: x86_64-unknown-linux-musl @@ -40,7 +40,15 @@ jobs: - target: x86_64-pc-windows-msvc os: windows-latest steps: + # Sparse checkout: building the binary only needs the crate sources and the + # root manifests. This also skips tests/fixtures, which contains an upstream + # fixture named CON.json — a reserved device name that git cannot check out + # on Windows (would fail the win32 job at checkout). - uses: actions/checkout@v4 + with: + sparse-checkout: | + src + benches - name: Authenticate cargo git fetch (private quire-rs) shell: bash