Skip to content

CI: derive Windows test_artifacts_path from matrix fields#6187

Merged
Fedr merged 1 commit into
masterfrom
ci-windows-test-artifacts-path
May 30, 2026
Merged

CI: derive Windows test_artifacts_path from matrix fields#6187
Fedr merged 1 commit into
masterfrom
ci-windows-test-artifacts-path

Conversation

@Fedr
Copy link
Copy Markdown
Contributor

@Fedr Fedr commented May 30, 2026

Summary

  • Remove the per-entry test_artifacts_path from all four windows-*-config.json matrix files.
  • Compute the S3 upload path in build-test-windows.yml instead, as windows/{vcpkg_triplet}/{config}/{build_system}.

Why

The path was hand-maintained in each matrix entry. Besides being redundant (every component already exists as a matrix field), the old values had a real collision: in windows-minimal-config.json two distinct jobs (msvc-2022 Debug/MSBuild and msvc-2022 Release/CMake) both mapped to windows/windows-2022/Debug, so their Python regression artifacts overwrote each other in S3. Deriving from vcpkg_triplet/config/build_system yields a unique path per job in every config.

Path mapping

The artifact upload (Copy test artifacts to S3) only runs for non-iterator-debug triplets, so only those entries produce a path. Computed (verified unique within each config):

  • full: 8 paths — windows/{x64-windows-meshlib | x64-windows-vs2019-meshlib}/{Debug | Release}/{MSBuild | CMake}
  • standard: 4 paths
  • minimal: 3 paths
  • finalize-release: 2 paths

Test plan — verified in run 26679736956

  • full-ci ran the full Windows matrix; all 9 jobs succeeded.
  • upload-test-artifacts triggered Copy test artifacts to S3 (Windows) in each of the 8 non-iterator-debug jobs, uploading to the new windows/{vcpkg_triplet}/{config}/{build_system} path. Confirmed from the logs the 8 paths are all distinct (no overwrite):
    • windows/x64-windows-meshlib/Debug/MSBuild
    • windows/x64-windows-meshlib/Release/MSBuild
    • windows/x64-windows-meshlib/Debug/CMake
    • windows/x64-windows-meshlib/Release/CMake
    • windows/x64-windows-vs2019-meshlib/Debug/MSBuild
    • windows/x64-windows-vs2019-meshlib/Release/MSBuild
    • windows/x64-windows-vs2019-meshlib/Debug/CMake
    • windows/x64-windows-vs2019-meshlib/Release/CMake
  • The iterator-debug job correctly skipped the regression/upload steps (no path needed).
  • Non-Windows platforms intentionally disabled for this PR (Windows-only change) — all skipped.

🤖 Generated with Claude Code

Drop the per-entry "test_artifacts_path" from the windows-*-config matrix
files and instead compute it in build-test-windows.yml as
windows/{vcpkg_triplet}/{config}/{build_system}.

This removes the hand-maintained paths (which had a collision in the
minimal config, where two distinct jobs both mapped to
windows/windows-2022/Debug) and guarantees a unique S3 upload path per job.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@Fedr Fedr merged commit 2820f3f into master May 30, 2026
37 checks passed
@Fedr Fedr deleted the ci-windows-test-artifacts-path branch May 30, 2026 10:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant