Fix browser-wasm CoreCLR artifact collisions#131086
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 18e0e312-423a-45b0-891d-d51efe4ab919
|
Azure Pipelines: Successfully started running 5 pipeline(s). 11 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
|
Tagging subscribers to 'arch-wasm': @lewing, @pavelsavara |
There was a problem hiding this comment.
Pull request overview
This change updates artifact naming in the runtime pipeline to prevent Azure DevOps Pipeline Artifact name collisions between the Linux- and Windows-hosted browser-wasm CoreCLR builds, while keeping non-browser artifact names unchanged.
Changes:
- Add host-specific suffixing (
$(_hostedOs)) to the browser-wasm CoreCLR “ReleaseLibraries” build/test Pipeline Artifact names so Linux and Windows no longer publish the same artifact name. - Update the browser-wasm CoreCLR runtime-test job to download the renamed (Linux-hosted) unified build artifact via the updated
unifiedArtifactsName.
|
Workflow state for the Holistic Review Orchestrator. {
"version": 5,
"last_dispatched_commit": "203ee746238df33fe8911c1a8ac7b531e1cc5b23",
"last_dispatched_base_ref": "main",
"last_dispatched_base_sha": "ea3f7f141e0596cab37785d305910e64d031ab29",
"last_reviewed_commit": "203ee746238df33fe8911c1a8ac7b531e1cc5b23",
"last_reviewed_base_ref": "main",
"last_reviewed_base_sha": "ea3f7f141e0596cab37785d305910e64d031ab29",
"last_recorded_worker_run_id": "29755379826",
"review_attempt_commit": "",
"review_attempt_base_ref": "",
"review_attempt_count": 0,
"max_review_attempts": 5,
"review_history_format": "holistic-review-disclosure-v1",
"review_history": [
{
"commit": "203ee746238df33fe8911c1a8ac7b531e1cc5b23",
"review_id": 4736508756
}
]
} |
There was a problem hiding this comment.
Holistic Review
Motivation: After #128498 both the browser_wasm (Linux-hosted) and browser_wasm_win (Windows-hosted) CoreCLR build jobs share the same osGroup/osSubgroup/archType (browser/wasm), so they publish Pipeline Artifacts under identical names (CoreCLR_ReleaseLibraries_BuildArtifacts_browser_wasm_$(_BuildConfig) and the matching TestArtifacts). Two producers publishing the same artifact name collide. This PR disambiguates them.
Approach: Insert $(_hostedOs) into the artifact names of the two browser CoreCLR producers (both build and test artifacts) and update the single browser CoreCLR runtime-test consumer (browser_wasm run-test-job) to download the renamed name. Non-browser producers/consumers, whose (osGroup, osSubgroup, archType, config) tuples are already unique, are intentionally left unchanged.
Summary: The change is correct and minimal. _hostedOs is a real pipeline variable (defined in xplat-setup.yml from jobParameters.hostedOs), set to linux for browser_wasm and windows for browser_wasm_win via platform-matrix.yml, so the two producers now emit distinct names. The updated consumer at the browser_wasm test job runs with hostedOs: linux, so $(_hostedOs) resolves to linux and matches the Linux producer it depends on — consistent with the stated intent to consume only the Linux artifact. The naming convention mirrors the existing _hostedOs-based disambiguation already used by other WASM artifacts (e.g. wasm-post-build-steps.yml, browser-wasm-build-tests.yml). No non-browser artifact name is touched, so no other consumers are impacted. This is a pure CI/pipeline YAML change with no product-code or test-behavior risk; correctness is validated by the pipeline expanding without name collisions. LGTM — no actionable findings.
Note
This review was generated by this repository's Holistic Review agentic workflow to complement the built-in Copilot review.
Generated by Holistic Review · 70.3 AIC · ⌖ 10.5 AIC · ⊞ 10K
Summary
This preserves Pipeline Artifact publication while avoiding the duplicate name used by both browser hosts after #128498.
Validation
eng/pipelines/runtime.ymlwith Ruby YAMLgit diff --checkNote
This pull request description was generated by GitHub Copilot.