Skip to content

[release/8.0-staging] Skip empty iOS NativeAOT Helix submission#131209

Open
davidnguyen-tech wants to merge 1 commit into
dotnet:release/8.0-stagingfrom
davidnguyen-tech:fix/skip-empty-ios-nativeaot-helix
Open

[release/8.0-staging] Skip empty iOS NativeAOT Helix submission#131209
davidnguyen-tech wants to merge 1 commit into
dotnet:release/8.0-stagingfrom
davidnguyen-tech:fix/skip-empty-ios-nativeaot-helix

Conversation

@davidnguyen-tech

Copy link
Copy Markdown
Member

Summary

  • Skip the libraries Send to Helix step for the .NET 8 iOS NativeAOT device leg.
  • Preserve the iOS NativeAOT build and the existing tvOS Helix submission.
  • Document that the exclusion must be removed if iOS NativeAOT device tests are re-enabled.

Context

PR #130473 marked the only two test projects selected by this leg as IgnoreForCI:

  • iOS.Device.Aot.Test
  • iOS.Device.ExportManagedSymbols.Test

The leg therefore creates no test payload directory. The .NET 8 Helix preparation target then calls
Directory.GetDirectories on that missing directory and fails with MSB4184 before reaching Helix.

Adding only an Exists(...) guard would change the failure to No helix work items, because there is
still nothing to submit. This change instead keeps the useful iOS NativeAOT build coverage while
skipping only its now-empty Helix submission. tvOS continues to build and submit its enabled test.

Addresses #130860.

Validation

  • Reproduced the reported MSB4184 locally using the real .NET 8 mobile Helix target.
  • Confirmed that an empty payload produces the subsequent No helix work items failure.
  • Parsed both modified pipeline files and validated that iOS is skipped while the existing tvOS and
    change-detection conditions are preserved.

Note

This pull request description was generated with GitHub Copilot.

The servicing branch no longer has enabled iOS NativeAOT device tests, so preserve build coverage while skipping the empty Helix submission. Keep tvOS behavior unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 332b1207-8473-4b2b-8864-30da72ee4f6b
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).
13 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: @agocke, @dotnet/ilc-contrib
See info in area-owners.md if you want to be subscribed.

@davidnguyen-tech

Copy link
Copy Markdown
Member Author

/azp run runtime-extra-platforms

Note

This command was posted by GitHub Copilot at the user's request.

@azure-pipelines

Copy link
Copy Markdown
No pipelines are associated with this pull request.

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 updates the .NET 8 staging Azure Pipelines definitions to skip the libraries “Send to Helix” step for the iOS NativeAOT device leg when it would be empty (due to the device test projects being marked IgnoreForCI), while preserving the iOS NativeAOT build coverage and the tvOS Helix submission.

Changes:

  • Update the libraries Helix submission condition in runtime.yml to exclude osGroup == ios while keeping the existing change-detection gating.
  • Add an explicit osGroup != ios condition to the iOS-like extra-platforms libraries Helix submission.
  • Add inline comments documenting that the iOS exclusion must be removed if iOS NativeAOT device tests are re-enabled.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
eng/pipelines/runtime.yml Wrap the existing libraries Helix submission condition with ne(osGroup, 'ios') so tvOS still submits but iOS doesn’t.
eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml Add condition: ne(variables['osGroup'], 'ios') to skip iOS libraries Helix submission in the iOS-like extra-platforms pipeline.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@davidnguyen-tech

Copy link
Copy Markdown
Member Author

/azp run runtime-extra-platforms

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 1 pipeline(s).

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 3 pipeline(s).
13 pipeline(s) were filtered out due to trigger conditions.
There may be pipelines that require an authorized user to comment /azp run to run.

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.

2 participants