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

[ApiDiffs] Creating Api Diffs for the Dotnet Assemblies #12886

Merged
merged 15 commits into from
Oct 15, 2021

Conversation

tj-devel709
Copy link
Contributor

This PR creates the Api Diffs for the Dotnet Assemblies for three different scenarios:

  • New Dotnet assemblies vs. Stable Dotnet assemblies
  • New Dotnet assemblies vs. Stable Legacy assemblies
  • New Dotnet iOS assembly vs. New Dotnet MacCatalyst assembly

Task is found here: #10210

Next part of this is to include these new diffs into the CI!

@tj-devel709 tj-devel709 added the dotnet An issue or pull request related to .NET (6) label Sep 30, 2021
@tj-devel709 tj-devel709 added this to the .NET 6 milestone Sep 30, 2021
@vs-mobiletools-engineering-service2
Copy link
Collaborator

✅ [PR Build] Tests passed on Build. ✅

Tests passed on Build.

API diff

✅ API Diff from stable

View API diff

API & Generator diff

ℹ️ API Diff (from PR only) (please review changes)
Generator Diff (only version changes)

GitHub pages

Results can be found in the following github pages (it might take some time to publish):

🎉 All 102 tests passed 🎉

Pipeline on Agent XAMBOT-1096.BigSur'
Merge 23ff309 into 3ffabb1

Copy link
Member

@mandel-macaque mandel-macaque left a comment

Choose a reason for hiding this comment

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

Small comment.

tools/apidiff/Makefile Outdated Show resolved Hide resolved
Copy link
Member

@rolfbjarne rolfbjarne left a comment

Choose a reason for hiding this comment

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

This looks very good so far!

Makefile Outdated Show resolved Hide resolved
tools/apidiff/Makefile Outdated Show resolved Hide resolved
tools/apidiff/Makefile Outdated Show resolved Hide resolved
tools/apidiff/Makefile Outdated Show resolved Hide resolved
tools/apidiff/Makefile Outdated Show resolved Hide resolved
tools/apidiff/Makefile Outdated Show resolved Hide resolved
tools/apidiff/Makefile Outdated Show resolved Hide resolved
tools/apidiff/Makefile Show resolved Hide resolved
tools/apidiff/Makefile Outdated Show resolved Hide resolved
Make.config Outdated
@@ -36,8 +36,7 @@ $(TOP)/Make.config.inc: $(TOP)/Make.config $(TOP)/mk/mono.mk

include $(TOP)/Make.versions

APIDIFF_REFERENCES=https://bosstoragemirror.blob.core.windows.net/wrench/xcode12.5/ab40b131d3e87a96c3414447dcded5fec45bce36/4679032/package/bundle.zip

APIDIFF_REFERENCES=https://bosstoragemirror.blob.core.windows.net/wrench/main/cd2867d44caa9485701b6b63bb6c38f771a767c9/5267313/package/bundle.zip
Copy link
Member

Choose a reason for hiding this comment

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

Unfortunately this part becomes a bit complicated.

We can't do this, because it will make the api diffs for legacy Xamarin wrong (in fact this should be bumped to the apidiff reference from the xcode13-ios branch now).

However, we can't bump to the bundle.zip from the xcode13-ios branch, because it won't contain binaries for Xamarin.Mac (nor the .NET assemblies for that matter).

We really need a different bundle.zip for every platform, but for legacy Xamarin that's out of scope for this PR.

But what is possible is a middle ground: use a different url for .NET assemblies, and even better would be to make it possible to use a different url for each platform, so something like this:

APIDIFF_REFERENCES_DOTNET_iOS=...
APIDIFF_REFERENCES_DOTNET_tvOS=...
APIDIFF_REFERENCES_DOTNET_macOS=...
APIDIFF_REFERENCES_DOTNET_MacCatalyst=...

because it's entirely possible we'll end up in the same situation again at some point (different stable versions of iOS and macOS), and this way we'd have a solution since we could have different reference bundles for different platforms.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Will be starting this part in another PR tomorrow!

@tj-devel709
Copy link
Contributor Author

@rolfbjarne I will be pausing work on this PR to work on creating multiple bundle links to use for the references!

@tj-devel709 tj-devel709 added the do-not-merge Do not merge this pull request label Oct 8, 2021
@vs-mobiletools-engineering-service2
Copy link
Collaborator

✅ [PR Build] Tests passed on Build. ✅

Tests passed on Build.

GitHub pages

Results can be found in the following github pages (it might take some time to publish):

🎉 All 102 tests passed 🎉

Pipeline on Agent XAMBOT-1094.BigSur'
Merge 4a168a8 into b9de02c

@vs-mobiletools-engineering-service2
Copy link
Collaborator

❌ [PR Build] Tests failed on Build ❌

Tests failed on Build.

GitHub pages

Results can be found in the following github pages (it might take some time to publish):

Test results

2 tests failed, 100 tests passed.

Failed tests

  • introspection/Mac Catalyst [dotnet]/Debug [dotnet]: TimedOut (Execution timed out after 1200 seconds.
    No test log file was produced)
  • monotouch-test/Mac Catalyst [dotnet]/Debug [dotnet]: Failed (Tests run: 2694 Passed: 2492 Inconclusive: 35 Failed: 2 Ignored: 200)

Pipeline on Agent XAMBOT-1096.BigSur'
Merge fa6069b into 2930c05

$(Q) $(MAKE) all -j8
$(Q) $(MAKE) -j8 ios-markdown tvos-markdown watchos-markdown macos-markdown maccat-markdown
$(Q) $(MAKE) ios-markdown tvos-markdown watchos-markdown macos-markdown maccat-markdown dotnet-markdown dotnet-legacy-markdown dotnet-iOS-MacCatalyst-markdown
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removing the -j8 since this often causes printing mistakes to the index.html

@tj-devel709
Copy link
Contributor Author

@rolfbjarne I updated this PR to accept a separate bundle.zip url for each dotnet platform and only download that url if it has not already been downloaded by another platform. Please let me know if there is any condensing that can be done in the rules!

@vs-mobiletools-engineering-service2
Copy link
Collaborator

❌ [PR Build] Tests failed on Build ❌

Tests failed on Build.

API diff

✅ API Diff from stable

View API diff

API & Generator diff

ℹ️ API Diff (from PR only) (please review changes)
Generator Diff (only version changes)

GitHub pages

Results can be found in the following github pages (it might take some time to publish):

Test results

1 tests failed, 101 tests passed.

Failed tests

  • dont link/Mac Catalyst [dotnet]/Release [dotnet]: TimedOut (Execution timed out after 1200 seconds.
    No test log file was produced)

Pipeline on Agent XAMBOT-1100.BigSur'
Merge 8ea750b into 3c2c3d0

Make.config Outdated Show resolved Hide resolved
tools/apidiff/Makefile Outdated Show resolved Hide resolved
@rolfbjarne
Copy link
Member

This looks much better now!

@vs-mobiletools-engineering-service2
Copy link
Collaborator

✅ [PR Build] Tests passed on Build. ✅

Tests passed on Build.

API diff

✅ API Diff from stable

View API diff

GitHub pages

Results can be found in the following github pages (it might take some time to publish):

🎉 All 102 tests passed 🎉

Pipeline on Agent XAMBOT-1094.BigSur
Merge 1266522 into ed85420

@tj-devel709 tj-devel709 removed the do-not-merge Do not merge this pull request label Oct 15, 2021
@tj-devel709 tj-devel709 merged commit 5819dc7 into xamarin:main Oct 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dotnet An issue or pull request related to .NET (6)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants