Restore iOS device CI jobs in runtime.yml#126745
Open
kotlarmilos wants to merge 4 commits intodotnet:mainfrom
Open
Restore iOS device CI jobs in runtime.yml#126745kotlarmilos wants to merge 4 commits intodotnet:mainfrom
kotlarmilos wants to merge 4 commits intodotnet:mainfrom
Conversation
- 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>
Contributor
|
Tagging subscribers to 'os-ios': @vitek-karas, @kotlarmilos, @steveisok, @akoeplinger |
Contributor
There was a problem hiding this comment.
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 inceeload.hand their initialization inceeload.cpp. - Switched runtime pipeline iOS smoke-test platforms back from
iossimulator_arm64toios_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>
akoeplinger
approved these changes
Apr 10, 2026
This was referenced Apr 10, 2026
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
This PR description was AI/Copilot-generated.
Description
Restore
ios_arm64(device) platform for the three iOS smoke test jobs inruntime.yml(Mono AOT, NativeAOT, CoreCLR), replacing theiossimulator_arm64workaround introduced in PR #126406 due to device queue reliability issues (tracking issue #125522).Changes
eng/pipelines/runtime.yml: Replacediossimulator_arm64withios_arm64for Mono, NativeAOT, and CoreCLR smoke test jobs