Skip to content

[release/10.0] Avoid artifact name collisions on job retries - #39052

Merged
wtgodbe merged 4 commits into
release/10.0from
fix-artifact-retry-release-10.0
Sep 21, 2026
Merged

wtgodbe merged 4 commits into
release/10.0from
fix-artifact-retry-release-10.0

Conversation

@wtgodbe

@wtgodbe wtgodbe commented Sep 21, 2026 •

Copy link
Copy Markdown
Member

Fixes #39005
Backports #39048

Description
Azure DevOps job retries reuse the build ID, while published artifact names must be unique within that build. Append $(System.JobAttempt) to always-published test-result artifact names so each attempt publishes a distinct artifact. Also publish attempt-scoped TestResults artifacts from the internal Windows, macOS, and Linux test jobs.

Customer impact
A retried CI job can fail while publishing test results because the first attempt already created an artifact with the same name. Test results from internal test jobs were also unavailable as downloadable build artifacts. This can mask the retried job result or make failures harder to investigate. There is no product runtime impact.

How found
Found from an EF Core servicing build failure reported in #39005 and team review of the internal test pipeline.

Regression
This is not a product regression. It is a CI configuration issue exposed when Azure DevOps retries a job in the same build.

Testing
0 tests modified. Validated the YAML and confirmed all public and internal test-result artifact names include the job-attempt suffix.

Risk
Extremely low. This is a YAML-only artifact naming and publication change; no quirk is applicable.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings September 21, 2026 20:02

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.

Copilot review overview

🟢 Approval recommended

The YAML-only change addresses artifact collisions with no unresolved issues.

Review effort: Lite
Findings: None

What changed in this PR

Updates Azure DevOps test-result artifact names to avoid collisions when jobs are retried.

Changes:

  • Appends $(System.JobAttempt) to Windows, macOS, and Linux artifact names.
  • Prevents retry attempts from failing during artifact publication.
File Description
azure-pipelines-public.yml Adds job-attempt suffixes to three test-result artifact names.

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings September 21, 2026 20:22

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.

Copilot review overview

🟡 Changes recommended

Unresolved artifact schema and non-blocking publication issues remain.

Get a fresh assessment by requesting another Copilot review.

Review effort: Lite
Findings: 1 High severity

Open (1)

Comment thread azure-pipelines-internal-tests.yml Resolved
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings September 21, 2026 20:38

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.

Copilot review overview

🔵 Needs a closer look

Internal artifact publishers may fail their jobs when optional test-result publication encounters an error.

Review effort: Lite
Findings: None

Resolved since last review (1)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings September 21, 2026 20:47

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.

Copilot review overview

🟢 Approval recommended

The YAML-only changes address artifact collisions and have no unresolved review issues.

Review effort: Lite
Findings: None

@wtgodbe
wtgodbe enabled auto-merge (squash) September 21, 2026 22:20
@wtgodbe
wtgodbe merged commit 4c96c90 into release/10.0 Sep 21, 2026
11 checks passed
@wtgodbe
wtgodbe deleted the fix-artifact-retry-release-10.0 branch September 21, 2026 23:01
wtgodbe added a commit that referenced this pull request Sep 22, 2026
* [release/10.0] Source code updates from dotnet/dotnet (#39043)

Update dependencies from build 332911

Updated Dependencies:
Microsoft.DotNet.Arcade.Sdk, Microsoft.DotNet.Build.Tasks.Templating, Microsoft.DotNet.Helix.Sdk (Version 10.0.0-beta.26469.106 -> 10.0.0-beta.26469.112)
Microsoft.Extensions.Caching.Memory, Microsoft.Extensions.Configuration, Microsoft.Extensions.Configuration.Abstractions, Microsoft.Extensions.Configuration.EnvironmentVariables, Microsoft.Extensions.Configuration.Json, Microsoft.Extensions.DependencyInjection, Microsoft.Extensions.DependencyModel, Microsoft.Extensions.Logging, Microsoft.NETCore.App.Ref, System.Formats.Asn1, System.Runtime.Caching, System.Text.Encodings.Web, System.Text.Json (Version 10.0.13 -> 10.0.13)
Microsoft.Extensions.HostFactoryResolver.Sources, Microsoft.NETCore.Platforms (Version 10.0.13-servicing.26469.106 -> 10.0.13-servicing.26469.112)
[[ commit created by automation ]]

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>

* [release/10.0]: Bump Microsoft.Azure.Cosmos from 3.63.0 to 3.63.1 (#39027)

* Merge pull request #39052 from dotnet/fix-artifact-retry-release-10.0

[release/10.0] Avoid artifact name collisions on job retries

---------

Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: William Godbe <wigodbe@microsoft.com>
Co-authored-by: Andriy Svyryd <AndriySvyryd@users.noreply.github.com>
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.

3 participants