Skip to content

[xcode16.1] Merge main into xcode16.1.#21481

Merged
dalexsoto merged 6 commits intoxcode16.1from
dev/rolf/bump-main-in-xcode16.1-2024-10-21
Oct 22, 2024
Merged

[xcode16.1] Merge main into xcode16.1.#21481
dalexsoto merged 6 commits intoxcode16.1from
dev/rolf/bump-main-in-xcode16.1-2024-10-21

Conversation

@rolfbjarne
Copy link
Copy Markdown
Member

No description provided.

dotnet-maestro Bot and others added 6 commits October 17, 2024 18:56
This pull request updates the following dependencies

## From https://github.com/dotnet/arcade

- **Subscription**: 6ddbc71e-6118-4fea-a928-58d1b2579c38
- **Build**: 20241016.2
- **Date Produced**: October 16, 2024 4:50:11 PM UTC
- **Commit**: 3c393bbd85ae16ddddba20d0b75035b0c6f1a52d
- **Branch**: refs/heads/release/9.0

- **Updates**:
  - **Microsoft.DotNet.Build.Tasks.Feed**: [from 9.0.0-beta.24509.3 to 9.0.0-beta.24516.2][1]

[1]: dotnet/arcade@05c72bb...3c393bb
…nal exceptions. (#21464)

This way we report the stack trace of the original exception in build logs.
Context: 9013ae4

We've decided hold off on this change until .NET 10.

---------

Co-authored-by: Peter Collins <pecolli@microsoft.com>
…rsion for library projects. (#21343)

We must define the default platform version if it's not specified in the TFM, and according to the spec the default should not change for a given .NET version:

* We release support for iOS 18.0 with .NET 9
* Apple releases iOS 18.1, we're still using .NET 9. This default continues to be iOS 18.0
* .NET 10 is shipped, and at this point we bump the default to iOS 19.0

Basically: this should be the last OS version of the platform in question when the current major .NET version is first released to stable.

Ref: https://github.com/dotnet/designs/blob/8e6394406d44f75f30ea2259a425cb9e38d75b69/accepted/2020/net5/net5.md#os-versions

However, this doesn't work well for Apple platforms: Whenever Apple releases new Xcode versions, our existing workloads might not be compatible with the new Xcode. We'll of course ship updateds workload with support for the new Xcode, but defaulting to an older target platform version would mean that developers wouldn't get the new workload, they'd get the old one. This is exacerbated by the fact that Apple aggressively auto-updates Xcode on developers' machines: they might wake up one day to a broken build - the obvious fix ("dotnet workload update") doesn't fix anything - even if we've shipped updated workloads - because the default is to use the old one. They'd have to manually specify the target platform version in the target platform to get the updated workload ("net8.0-ios17.2" to use the iOS 17.2 workload instead of "net8.0-ios", which would use the default (old/initial/17.0) .NET 8 workload) - and then update _again_ when the next Xcode comes around. At this point the point of having a sane default value is totally out the window, because everybody would have to specify (and continuously update) a platform version in their project files to keep their projects building.

So we've made the decision that the default target platform version is always the latest supported target platform version.

Given the previous example: once we've implemented and released support for iOS 18.1, the updated iOS workload will use 18.1 as the default TPV for iOS.

On the other hand, this turns out to be somewhat of a complication for library developers, because they typically don't need Xcode to build their projects, and if we auto-update their TargetPlatformVersion to the latest, then all their customers have to also update their workloads, which for some people end up being a rather nasty surprise (because with the above algorithm it happens without developer action). Thus we follow .NET's default platform version scheme for library projects: it won't change in minor .NET releases.

Related design/docs PRs:

* dotnet/docs#43089
* dotnet/designs#324
@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

💻 [CI Build] Windows Integration Tests passed 💻

All Windows Integration Tests passed.

Pipeline on Agent
Hash: e2cd13bc353307ddcedfcee7ec7449a7bc89b874 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ API diff for current PR / commit

.NET (No breaking changes)

✅ API diff vs stable

.NET (No breaking changes)

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: e2cd13bc353307ddcedfcee7ec7449a7bc89b874 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

💻 [CI Build] Tests on macOS M1 - Mac Monterey (12) passed 💻

All tests on macOS M1 - Mac Monterey (12) passed.

Pipeline on Agent
Hash: e2cd13bc353307ddcedfcee7ec7449a7bc89b874 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

💻 [CI Build] Tests on macOS X64 - Mac Sonoma (14) passed 💻

All tests on macOS X64 - Mac Sonoma (14) passed.

Pipeline on Agent
Hash: e2cd13bc353307ddcedfcee7ec7449a7bc89b874 [PR build]

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

🚀 [CI Build] Test results 🚀

Test results

✅ All tests passed on VSTS: test results.

🎉 All 103 tests passed 🎉

Tests counts

✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (iOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (MacCatalyst): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (macOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (tvOS): All 1 tests passed. Html Report (VSDrops) Download
✅ framework: All 2 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 4 tests passed. Html Report (VSDrops) Download
✅ generator: All 3 tests passed. Html Report (VSDrops) Download
✅ interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download
✅ introspection: All 6 tests passed. Html Report (VSDrops) Download
✅ linker: All 40 tests passed. Html Report (VSDrops) Download
✅ monotouch (iOS): All 7 tests passed. Html Report (VSDrops) Download
✅ monotouch (MacCatalyst): All 8 tests passed. [attempt 2] Html Report (VSDrops) Download
✅ monotouch (macOS): All 9 tests passed. Html Report (VSDrops) Download
✅ monotouch (tvOS): All 7 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
✅ xcframework: All 4 tests passed. Html Report (VSDrops) Download
✅ xtro: All 1 tests passed. Html Report (VSDrops) Download

Pipeline on Agent
Hash: e2cd13bc353307ddcedfcee7ec7449a7bc89b874 [PR build]

@dalexsoto dalexsoto merged commit 2defa21 into xcode16.1 Oct 22, 2024
@dalexsoto dalexsoto deleted the dev/rolf/bump-main-in-xcode16.1-2024-10-21 branch October 22, 2024 14:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants