Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/7.0.1xx-xcode13.3-multi-targeting] Add support for multi targeting #18884

Conversation

rolfbjarne
Copy link
Member

@rolfbjarne rolfbjarne commented Aug 31, 2023

Multi targetting is described here: /~https://github.com/xamarin/xamarin-macios/blob/main/docs/multi-target-framework.md

This PR implements support building using the initial .NET 7 macOS and Mac
Catalyst packages we shipped, by adding "net7.0-maccatalyst15.4" or
"net7.0-macos12.3" as a target framework.

It does so by:

  • Renaming the ref, sdk and runtime packs to contain the target framework and the target platfrom version, so the packages will now be named:

    • Microsoft.MacCatalyst.Sdk.net7.0_15.4

    • Microsoft.MacCatalyst.Ref.net7.0_15.4

    • Microsoft.MacCatalyst.Runtime.maccatalyst-x64.net7.0_15.4

    • Microsoft.MacCatalyst.Runtime.maccatalyst-arm64.net7.0_15.4

    • Microsoft.macOS.Sdk.net7.0_12.3

    • Microsoft.macOS.Ref.net7.0_12.3

    • Microsoft.macOS.Runtime.osx-x64.net7.0_12.3

    • Microsoft.macOS.Runtime.osx-arm64.net7.0_12.3

  • Only publish the above packages to NuGet (i.e. not publish the template
    pack, nor the workload pack). This is because we don't need to publish any
    new templates/workloads, we only need to support being included in a newer
    workload.

  • Note that the workloads are also updated in this PR: these workloads will
    never be published, but it's to keep the tests working.

Contributes towards:

This PR is best reviewed commit-by-commit.

…ze the pack names.

We're going to change the pack names to support multi-targetting, so ahead of
the pack name change I'm changing the existing logic to use a variable for the
pack name in most places (this will make the rename much easier and simpler).

These changes should have no effect by themselves.
…SdkLoaded=true when loaded to ease logic in later sdks to determine the sdk to load.
@vs-mobiletools-engineering-service2
Copy link
Collaborator

🔥 Failed to compare API and create generator diff 🔥

Failed to run apidiff

Pipeline on Agent
Hash: 3c510d86e1225c170467234bec65d0ab212cdc26 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

❌ [PR Build] Tests on macOS M1 - Mac Big Sur (11.5) failed ❌

No test package could be found for tests on macOS M1 - Mac Big Sur (11.5)

Pipeline on Agent
Hash: 3c510d86e1225c170467234bec65d0ab212cdc26 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Collaborator

🔥 [CI Build] Test results 🔥

Test results

❌ Tests failed on VSTS: simulator tests

0 tests crashed, 27 tests failed, 12 tests passed.

Failures

❌ dotnettests tests

1 tests failed, 0 tests passed.
  • DotNet tests: TimedOut (Execution timed out after 240 minutes.)

Html Report (VSDrops) Download

❌ introspection tests

2 tests failed, 0 tests passed.
  • introspection/Mac [dotnet]/Debug [dotnet]: Failed (Test run crashed (exit code: 139).
    Test run crashed)
  • introspection/Mac Catalyst [dotnet]/Debug [dotnet]: TimedOut

Html Report (VSDrops) Download

❌ linker tests

20 tests failed, 0 tests passed.
  • dont link/Mac [dotnet]/Debug [dotnet]: TimedOut
  • dont link/Mac [dotnet]/Release [dotnet]: TimedOut
  • dont link/Mac Catalyst [dotnet]/Debug [dotnet]: TimedOut
  • dont link/Mac Catalyst [dotnet]/Release [dotnet]: TimedOut
  • link sdk/Mac [dotnet]/Debug [dotnet]: TimedOut
  • link sdk/Mac [dotnet]/Release [dotnet]: TimedOut
  • link sdk/Mac Catalyst [dotnet]/Debug [dotnet]: TimedOut
  • link sdk/Mac Catalyst [dotnet]/Release [dotnet]: TimedOut
  • link all/Mac [dotnet]/Debug [dotnet]: TimedOut
  • link all/Mac [dotnet]/Release [dotnet]: TimedOut
  • link all/Mac Catalyst [dotnet]/Debug [dotnet]: TimedOut
  • link all/Mac Catalyst [dotnet]/Release [dotnet]: TimedOut
  • trimmode copy/Mac [dotnet]/Debug [dotnet]: TimedOut
  • trimmode copy/Mac [dotnet]/Release [dotnet]: TimedOut
  • trimmode copy/Mac Catalyst [dotnet]/Debug [dotnet]: TimedOut
  • trimmode copy/Mac Catalyst [dotnet]/Release [dotnet]: TimedOut
  • trimmode link/Mac [dotnet]/Debug [dotnet]: TimedOut
  • trimmode link/Mac [dotnet]/Release [dotnet]: TimedOut
  • trimmode link/Mac Catalyst [dotnet]/Debug [dotnet]: TimedOut
  • trimmode link/Mac Catalyst [dotnet]/Release [dotnet]: TimedOut

Html Report (VSDrops) Download

❌ monotouch tests

3 tests failed, 0 tests passed.
  • monotouch-test/Mac [dotnet]/Debug [dotnet]: Failed (Test run failed.
    Tests run: 2614 Passed: 2524 Inconclusive: 10 Failed: 8 Ignored: 82)
  • monotouch-test/Mac [dotnet]/Debug (static registrar) [dotnet]: Failed (Test run failed.
    Tests run: 2611 Passed: 2521 Inconclusive: 10 Failed: 9 Ignored: 81)
  • monotouch-test/Mac Catalyst [dotnet]/Debug [dotnet]: Failed (Test run failed.
    Tests run: 2771 Passed: 2643 Inconclusive: 14 Failed: 10 Ignored: 118)

Html Report (VSDrops) Download

❌ msbuild tests

1 tests failed, 1 tests passed.
  • MSBuild tests/Tasks: TimedOut (Execution timed out after 60 minutes.)

Html Report (VSDrops) Download

Successes

⚠️ bcl: No tests selected. Html Report (VSDrops) Download
✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 2 tests passed. Html Report (VSDrops) Download
✅ framework: All 2 tests passed. Html Report (VSDrops) Download
✅ generator: All 1 tests passed. Html Report (VSDrops) Download
✅ interdependent_binding_projects: All 2 tests passed. Html Report (VSDrops) Download
⚠️ install_source: No tests selected. Html Report (VSDrops) Download
⚠️ mac_binding_project: No tests selected. Html Report (VSDrops) Download
⚠️ mmp: No tests selected. Html Report (VSDrops) Download
⚠️ mononative: No tests selected. Html Report (VSDrops) Download
⚠️ mtouch: No tests selected. Html Report (VSDrops) Download
⚠️ xammac: No tests selected. Html Report (VSDrops) Download
✅ xcframework: All 2 tests passed. Html Report (VSDrops) Download
✅ xtro: All 1 tests passed. Html Report (VSDrops) Download

Pipeline on Agent
Hash: [PR build]

@rolfbjarne
Copy link
Member Author

Test failures are unrelated (misc failures fixed in main + numerous hangs due to /~https://github.com/xamarin/maccore/issues/1124).

Copy link
Member

@haritha-mohan haritha-mohan left a comment

Choose a reason for hiding this comment

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

these docs helped clarify a lot of the initial questions I had if anyone else is reviewing and needs an additional ref! /~https://github.com/dotnet/designs/blob/main/accepted/2020/workloads/workload-manifest.md

@rolfbjarne
Copy link
Member Author

these docs helped clarify a lot of the initial questions I had if anyone else is reviewing and needs an additional ref! dotnet/designs@main/accepted/2020/workloads/workload-manifest.md

#18923

@rolfbjarne rolfbjarne merged commit d7cf516 into release/7.0.1xx-xcode13.3-multi-targeting Sep 5, 2023
@rolfbjarne rolfbjarne deleted the release-test/multi-targeting-7.0.1xx-xcode13.3 branch October 9, 2024 06:22
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