From 1868078f4bc7f30af61f9b376edbaf6aa8ff7697 Mon Sep 17 00:00:00 2001 From: John Pollock Date: Wed, 11 Mar 2026 21:29:49 -0500 Subject: [PATCH] fix(ci): publish from single build leg to avoid wheel content conflicts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pure Python package produces py3-none-any wheel — identical filename from all 9 matrix legs but non-identical content (timestamps, metadata ordering). Use ubuntu-latest py3.11 artifacts only, matching smoke-test. --- .github/workflows/build-wheels.yml | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 6fcaad0..e7eeb61 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -115,28 +115,12 @@ jobs: - name: Download artifacts uses: actions/download-artifact@v4 with: - pattern: dist-* - merge-multiple: false - path: downloaded + name: dist-ubuntu-latest-py3.11 + path: dist - - name: Collect distributions + - name: Verify distributions shell: bash run: | - mkdir -p dist - find downloaded -type f \( -name "*.whl" -o -name "*.tar.gz" \) -print0 | while IFS= read -r -d '' src; do - base="$(basename "$src")" - dest="dist/$base" - if [ -e "$dest" ]; then - # Deduplicate byte-identical files produced in multiple matrix legs. - if cmp -s "$src" "$dest"; then - continue - fi - echo "Conflicting distribution filename with different content: $base" - exit 1 - fi - cp "$src" "$dest" - done - wheel_count="$(find dist -maxdepth 1 -type f -name '*.whl' | wc -l)" sdist_count="$(find dist -maxdepth 1 -type f -name '*.tar.gz' | wc -l)" if [ "$wheel_count" -eq 0 ] || [ "$sdist_count" -eq 0 ]; then