Skip to content

Restore iOS device CI jobs in runtime.yml#126745

Open
kotlarmilos wants to merge 4 commits intodotnet:mainfrom
kotlarmilos:fix/ios-device-queue-and-ceeload-guard
Open

Restore iOS device CI jobs in runtime.yml#126745
kotlarmilos wants to merge 4 commits intodotnet:mainfrom
kotlarmilos:fix/ios-device-queue-and-ceeload-guard

Conversation

@kotlarmilos
Copy link
Copy Markdown
Member

@kotlarmilos kotlarmilos commented Apr 10, 2026

Note

This PR description was AI/Copilot-generated.

Description

Restore ios_arm64 (device) platform for the three iOS smoke test jobs in runtime.yml (Mono AOT, NativeAOT, CoreCLR), replacing the iossimulator_arm64 workaround introduced in PR #126406 due to device queue reliability issues (tracking issue #125522).

Changes

  • eng/pipelines/runtime.yml: Replaced iossimulator_arm64 with ios_arm64 for Mono, NativeAOT, and CoreCLR smoke test jobs

- Widen the preprocessor guard on m_dwTypeCount, m_dwExportedTypeCount,
  and m_dwCustomAttributeCount from PROFILING_SUPPORTED_DATA to
  PROFILING_SUPPORTED_DATA || FEATURE_METADATA_UPDATER in both ceeload.h
  (declaration) and ceeload.cpp (initialization). PR dotnet#126487 made these
  fields conditional on PROFILING_SUPPORTED_DATA, but
  UpdateNewlyAddedTypes() is guarded by PROFILING_SUPPORTED ||
  FEATURE_METADATA_UPDATER. When profiling is disabled (e.g., Apple
  mobile platforms with FEATURE_CORPROFILER off), the function compiles
  but the fields do not exist, causing build failures.

- Restore ios_arm64 (device) platform for the three iOS smoke test jobs
  in runtime.yml (Mono AOT, NativeAOT, CoreCLR), replacing the
  iossimulator_arm64 workaround from PR dotnet#126406.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 10, 2026 08:23
@kotlarmilos kotlarmilos changed the title Fix ceeload profiler field guards and restore iOS device CI jobs [ios-clr] Fix ceeload profiler field guards and restore iOS device CI jobs Apr 10, 2026
@kotlarmilos kotlarmilos added the os-ios Apple iOS label Apr 10, 2026
@kotlarmilos kotlarmilos added this to the 11.0.0 milestone Apr 10, 2026
@dotnet-policy-service
Copy link
Copy Markdown
Contributor

Tagging subscribers to 'os-ios': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger
See info in area-owners.md if you want to be subscribed.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 addresses Apple mobile build/CI regressions by (1) adjusting CoreCLR Module field guards so metadata-update/profiler-related code can compile when profiling is disabled, and (2) restoring iOS device (arm64) smoke-test jobs in the main runtime pipeline.

Changes:

  • Widened preprocessor guards for Module’s profiler/metadata counters in ceeload.h and their initialization in ceeload.cpp.
  • Switched runtime pipeline iOS smoke-test platforms back from iossimulator_arm64 to ios_arm64.

Reviewed changes

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

File Description
src/coreclr/vm/ceeload.h Broadens the guard around Module counter fields used by profiler/metadata-update flows.
src/coreclr/vm/ceeload.cpp Aligns Module::Initialize counter initialization with the updated guard.
eng/pipelines/runtime.yml Restores iOS device queue usage for Mono/CoreCLR/NativeAOT smoke-test matrices.

… comment

Add defined(PROFILING_SUPPORTED) to the preprocessor guard so the fields
are present in non-DAC profiling builds without FEATURE_METADATA_UPDATER
(e.g., Unix i386). Update the initialization comment to clarify the
FEATURE_METADATA_UPDATER scenario where NotifyProfilerLoadFinished does
not run.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The ceeload field guard mismatch is no longer needed since PR dotnet#126715
re-enabled FEATURE_CORPROFILER on all mobile platforms.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 10, 2026 15:47
@kotlarmilos kotlarmilos changed the title [ios-clr] Fix ceeload profiler field guards and restore iOS device CI jobs Restore iOS device CI jobs in runtime.yml Apr 10, 2026
@kotlarmilos kotlarmilos requested review from matouskozak and steveisok and removed request for AaronRobinsonMSFT and jkotas April 10, 2026 15:49
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.

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