Skip to content

Keep runtimelab IntermediateArtifacts on classic build artifacts#131033

Merged
akoeplinger merged 1 commit into
mainfrom
fix-intermediate-artifacts-classic
Jul 19, 2026
Merged

Keep runtimelab IntermediateArtifacts on classic build artifacts#131033
akoeplinger merged 1 commit into
mainfrom
fix-intermediate-artifacts-classic

Conversation

@akoeplinger

Copy link
Copy Markdown
Member

#128498 migrated this step to PublishPipelineArtifact, which would break runtimelab consumers: they still require multiple jobs publishing to the same 'IntermediateArtifacts' artifact. Revert just this step to 1ES.PublishBuildArtifacts@1 / PublishBuildArtifacts@1.

This can be removed once all runtimelab branches moves to v3/v4 publishing.

#128498 migrated this step to PublishPipelineArtifact, which would break runtimelab consumers:
they still require multiple jobs publishing to the same 'IntermediateArtifacts' artifact.
Revert just this step to 1ES.PublishBuildArtifacts@1 / PublishBuildArtifacts@1.

This can be removed once all runtimelab branches moves to v3/v4 publishing.
@azure-pipelines

Copy link
Copy Markdown
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.

@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Tagging subscribers to this area: @dotnet/runtime-infrastructure
See info in area-owners.md if you want to be subscribed.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adjusts the intermediate-artifact upload step under eng/pipelines/ to use classic Azure DevOps Build Artifacts (container) instead of Pipeline Artifacts, preserving behavior needed by downstream consumers that rely on multiple jobs publishing into a single same-named artifact.

Changes:

  • Replaces the Pipeline Artifact publishing template usage with Build Artifact publishing tasks (with an official vs non-official task split).
  • Adds an inline note explaining why classic Build Artifacts are required for this specific artifact.

Comment thread eng/pipelines/common/upload-intermediate-artifacts-step.yml
@github-actions

github-actions Bot commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Workflow state for the Holistic Review Orchestrator.

{
  "version": 5,
  "last_dispatched_commit": "868e1ed7cc0c21c68f9d415309c10bb5edaae559",
  "last_dispatched_base_ref": "main",
  "last_dispatched_base_sha": "c536338d89a6ccc0bcbca46e44e3343d990e06aa",
  "last_reviewed_commit": "868e1ed7cc0c21c68f9d415309c10bb5edaae559",
  "last_reviewed_base_ref": "main",
  "last_reviewed_base_sha": "c536338d89a6ccc0bcbca46e44e3343d990e06aa",
  "last_recorded_worker_run_id": "29690737115",
  "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": "868e1ed7cc0c21c68f9d415309c10bb5edaae559",
      "review_id": 4730927734
    }
  ]
}

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Holistic Review

Motivation: PR #128498 migrated all eng/pipelines artifact publishing from classic build (container) artifacts to pipeline artifacts. That migration is incompatible with the IntermediateArtifacts step, because dotnet/runtimelab consumers rely on multiple jobs publishing into a single same-named IntermediateArtifacts artifact — a merge semantic that pipeline artifacts (PublishPipelineArtifact@1) do not support. This PR reverts only that one step back to classic build artifacts to avoid breaking runtimelab.

Approach: The step previously delegated to the shared publish-pipeline-artifacts.yml template. Since #128498 also deleted the corresponding publish-build-artifacts.yml template, this PR inlines the classic-artifact publish directly: an ${{ if parameters.isOfficialBuild }} / ${{ else }} split selecting 1ES.PublishBuildArtifacts@1 for official builds and PublishBuildArtifacts@1 otherwise, both with ArtifactType: container. This faithfully reproduces the pre-#128498 behavior (same PathtoPublish, ArtifactName: IntermediateArtifacts, ArtifactType: container) and matches the official/non-official task-selection pattern used by the surviving publish-pipeline-artifacts.yml template. A clear NOTE comment documents why this step diverges from the rest of the migrated pipeline and records that it can be removed once runtimelab moves to v3/v4 publishing.

Summary: This is a small, well-scoped, and well-documented infrastructure revert. The compile-time if/else and input keys are correct for both the 1ES and non-1ES task variants, the artifact name/type are preserved so runtimelab's multi-job merge continues to work, and the inlining is the right choice given the shared template no longer exists. The single-file change is self-contained with no other consumers of this step affected (only eng/pipelines/runtimelab-official.yml references it). No correctness, security, or maintainability concerns found. LGTM.

Note

This review was generated by this repository's Holistic Review agentic workflow to complement the built-in Copilot review.

Generated by Holistic Review · 47.1 AIC · ⌖ 10.4 AIC · ⊞ 10K

@akoeplinger

Copy link
Copy Markdown
Member Author

/ba-g unrelated infrastructure issues

@akoeplinger
akoeplinger merged commit 3c0f3cc into main Jul 19, 2026
188 of 193 checks passed
@akoeplinger
akoeplinger deleted the fix-intermediate-artifacts-classic branch July 19, 2026 17:12
@dotnet-milestone-bot dotnet-milestone-bot Bot added this to the 11.0-preview7 milestone Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants