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

[mono-2018-06] [mono-sdks] Necessary changes to unify the LLVM provisioning for both iOS and Android. #4732

Merged
merged 1 commit into from
Sep 2, 2018

Conversation

@luhenry luhenry added enable-device-build Makes our build include device support (which we disable for simple PRs to speed them up) run-all-tests Run all our tests. skip-device-tests skip-api-comparison Skips API / generator diffs when testing pull requests build-package Build (and create package) on internal Jenkins. Apply 'run-internal-tests' to run tests too. labels Aug 30, 2018
@luhenry luhenry requested a review from vargaz August 30, 2018 21:35
@luhenry luhenry changed the title [mono-sdks] Necessary changes to unify the LLVM provisioning for both iOS and Android. [mono-2018-06] [mono-sdks] Necessary changes to unify the LLVM provisioning for both iOS and Android. Aug 30, 2018
@luhenry luhenry added the do-not-merge Do not merge this pull request label Aug 30, 2018
Copy link
Contributor

@VincentDondain VincentDondain left a comment

Choose a reason for hiding this comment

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

LGTM

@xamarin-release-manager
Copy link
Collaborator

🔥 Jenkins job (on internal Jenkins) failed in stage 'Build' 🔥 : hudson.AbortException: script returned exit code 2

🔥 Build failed 🔥

@xamarin-release-manager
Copy link
Collaborator

🔥 Jenkins job (on internal Jenkins) failed in stage 'Build' 🔥 : hudson.AbortException: script returned exit code 2

🔥 Build failed 🔥

@monojenkins
Copy link
Collaborator

Build failure
Build succeeded
API Diff (from stable)
❎ Skipped API comparison because the PR has the label 'skip-api-comparison'
🔥 Test run failed 🔥

Test results

1 tests failed, 0 tests skipped, 224 tests passed.

Failed tests

  • mscorlib/iOS Unified 32-bits - simulator/Debug: Failed

@xamarin-release-manager
Copy link
Collaborator

🔥 Jenkins job (on internal Jenkins) failed in stage 'Build' 🔥 : hudson.AbortException: script returned exit code 2

🔥 Build failed 🔥

@monojenkins
Copy link
Collaborator

Build failure
Build succeeded
API Diff (from stable)
❎ Skipped API comparison because the PR has the label 'skip-api-comparison'
🔥 Test run failed 🔥

Test results

1 tests failed, 0 tests skipped, 224 tests passed.

Failed tests

  • mscorlib/iOS Unified 32-bits - simulator/Debug: Failed

@luhenry luhenry force-pushed the mono-2018-06 branch 2 times, most recently from 50b3de8 to 492188b Compare August 31, 2018 21:02
@monojenkins
Copy link
Collaborator

Build failure
Build was aborted

@xamarin-release-manager
Copy link
Collaborator

🔥 Jenkins job (on internal Jenkins) failed in stage 'Build' 🔥 : hudson.AbortException: script returned exit code 2

Provisioning succeeded
🔥 Build failed 🔥

@xamarin-release-manager
Copy link
Collaborator

🔥 Jenkins job (on internal Jenkins) failed in stage 'Build' 🔥 : hudson.AbortException: script returned exit code 2

🔥 Build failed 🔥

@monojenkins
Copy link
Collaborator

Build failure
Build was aborted

Build succeeded
API Diff (from stable)
❎ Skipped API comparison because the PR has the label 'skip-api-comparison'

@xamarin-release-manager
Copy link
Collaborator

🔥 Jenkins job (on internal Jenkins) failed in stage 'Build' 🔥 : hudson.AbortException: script returned exit code 2

🔥 Build failed 🔥

@monojenkins
Copy link
Collaborator

Build failure
Build succeeded
API Diff (from stable)
❎ Skipped API comparison because the PR has the label 'skip-api-comparison'
🔥 Test run failed 🔥

Test results

10 tests failed, 0 tests skipped, 215 tests passed.

Failed tests

  • mscorlib/iOS Unified 32-bits - simulator/Debug: Failed
  • System.Net.Http/iOS Unified 32-bits - simulator/Debug: Failed
  • link sdk/iOS Unified 32-bits - simulator/Debug: Failed
  • link sdk/iOS Unified 32-bits - simulator/Release: Failed
  • System.Net.Http/iOS Unified 64-bits - simulator/Debug: Failed
  • link sdk/iOS Unified 64-bits - simulator/Debug: Failed
  • link sdk/iOS Unified 64-bits - simulator/Release: Failed
  • System.Net.Http/tvOS - simulator/Debug: Failed
  • link sdk/tvOS - simulator/Debug: Failed
  • link sdk/tvOS - simulator/Release: Failed

@luhenry luhenry removed the do-not-merge Do not merge this pull request label Sep 1, 2018
@xamarin-release-manager
Copy link
Collaborator

🔥 Jenkins job (on internal Jenkins) failed in stage 'Build' 🔥 : hudson.AbortException: script returned exit code 2

🔥 Build failed 🔥

@monojenkins
Copy link
Collaborator

Build failure
Build succeeded
API Diff (from stable)
❎ Skipped API comparison because the PR has the label 'skip-api-comparison'
🔥 Test run failed 🔥

Test results

15 tests failed, 0 tests skipped, 210 tests passed.

Failed tests

  • monotouch-test/iOS Unified 32-bits - simulator/Debug: TimedOut
  • mscorlib/iOS Unified 32-bits - simulator/Debug: Failed
  • System.Net.Http/iOS Unified 32-bits - simulator/Debug: Failed
  • introspection/iOS Unified 32-bits - simulator/Debug: TimedOut
  • link sdk/iOS Unified 32-bits - simulator/Debug: Failed
  • link sdk/iOS Unified 32-bits - simulator/Release: Failed
  • monotouch-test/iOS Unified 32-bits - simulator/Debug (static registrar): TimedOut
  • monotouch-test/iOS Unified 32-bits - simulator/Release (all optimizations): TimedOut
  • monotouch-test/iOS Unified 32-bits - simulator/Debug (all optimizations): TimedOut
  • System.Net.Http/iOS Unified 64-bits - simulator/Debug: Failed
  • link sdk/iOS Unified 64-bits - simulator/Debug: Failed
  • link sdk/iOS Unified 64-bits - simulator/Release: Failed
  • System.Net.Http/tvOS - simulator/Debug: Failed
  • link sdk/tvOS - simulator/Debug: Failed
  • link sdk/tvOS - simulator/Release: Failed

@xamarin-release-manager
Copy link
Collaborator

Jenkins job (on internal Jenkins) succeeded

Build succeeded
API Diff (from stable)
ℹ️ API Diff (from PR only) (please review changes)
ℹ️ Generator Diff (please review changes)
ℹ️ Test run skipped: Not running tests here because they're run on public Jenkins.

@monojenkins
Copy link
Collaborator

Build failure
Build succeeded
API Diff (from stable)
❎ Skipped API comparison because the PR has the label 'skip-api-comparison'
🔥 Test run failed 🔥

Test results

11 tests failed, 0 tests skipped, 214 tests passed.

Failed tests

  • mscorlib/iOS Unified 32-bits - simulator/Debug: Failed
  • System.Net.Http/iOS Unified 32-bits - simulator/Debug: Failed
  • link sdk/iOS Unified 32-bits - simulator/Debug: Failed
  • link sdk/iOS Unified 32-bits - simulator/Release: Failed
  • System.Net.Http/iOS Unified 64-bits - simulator/Debug: Failed
  • link sdk/iOS Unified 64-bits - simulator/Debug: Failed
  • link sdk/iOS Unified 64-bits - simulator/Release: Failed
  • System.Net.Http/tvOS - simulator/Debug: Failed
  • link sdk/tvOS - simulator/Debug: Failed
  • link sdk/tvOS - simulator/Release: Failed
  • mmptest/macOS/All: Failed (Execution failed with exit code 1)

@luhenry luhenry merged commit c7654a0 into xamarin:mono-2018-06 Sep 2, 2018
lambdageek pushed a commit that referenced this pull request Sep 13, 2018
spouliot pushed a commit that referenced this pull request Oct 10, 2018
* Bump to mono:2018-06

* Bump mono

* Updates compression to work with the public span

* Bump mono

* Fixes pointer check logic in Deflater

* Bump mono

* Fixes pointer check logic in Deflater

* Bump mono

* Bump Mono

* [runtime] always use `mono_jit_set_aot_mode` (#4491)

`mono_jit_set_aot_only` is deprecated and accidentally broke with
mono/mono#7887

This should fix device tests with `mono-2018-06`

* Testing with Zoltan's patch

* Include libmono-system-native on Xamarin.Mac

* Bump Mono

Commit list for mono/mono:

* mono/mono@7bcda192a06 Bump llvm to release_60/fc854b8ec5873d294b80afa3e6cf6a88c5c48886. (#9786). (#9804)
* mono/mono@23e95ec7ad7 Apply F# portable pdb debug fix for pinvokes & bump (#9797)
* mono/mono@295f6d32afd [2018-06] [MacOS] On Mac, use the copyfile API to copy files (#9696)

Diff: mono/mono@7d5f4b6...7bcda19

* Revert 4bacab3, it doesn't fix the ios aot problems.

* Bump mono

* [tests] Adjust the MT0137 test for mcs change in behavior.

Starting with mono 5.16 mcs will now add assembly references when the assembly
is only used in attributes (this was already the case for csc in both 5.14 and
5.16, so it seems to be a compatibility change).

Adjust the MT0137 test accordingly.

* [msbuild] Fix parsing of json parser errors to handle trailing periods in the error message.

Fixes this test:

    1) Test Failure : Xamarin.iOS.Tasks.Bug60536.TestACToolTaskCatchesJsonException
         ColumnNumber
      Expected: 2
      But was:  0

* Bump mono

* [builds] Install the old llvm binaries into the LLVM36 directory and make the 32 bit builds use that.

* Bump mono

* Bump mono

* [jenkins] Don't give VSTS a fake branch. (#4667)

Something in VSTS changed, and now fake branch names don't work anymore.

So instead use real branch names (and for pull requests I've created a
'pull-request' branch we can use).

* Assembly.LoadFile accepts only absolute path

* [linker] Add new Facade (System.Threading.Tasks.Extensions).

Fixes these MTouch test failures:

    1. Xamarin.Linker.SdkTest.iOS_Unified :   Facades
      Expected:
      But was:  < "System.Threading.Tasks.Extensions" >

    2. Xamarin.Linker.SdkTest.tvOS :   Facades
      Expected:
      But was:  < "System.Threading.Tasks.Extensions" >

    3. Xamarin.Linker.SdkTest.watchOS :   Facades
      Expected:
      But was:  < "System.Threading.Tasks.Extensions" >

* [mono-sdks] Necessary changes to unify the LLVM provisioning for both iOS and Android. (#4732)

* Bump Mono

* [mtouch] add mixed-mode support (#4751)

* [mtouch] add --interp-mixed option

When enabling this option, mtouch will AOT compile `mscorlib.dll`.  At
runtime that means every method that wasn't AOT'd will be executed by
the runtime interpreter.

* [mtouch] Add support to --interpreter to list the assemblies to (not) interpret.

* [msbuild] Simplify interpreter code to use a single variable.

* Fix whitespace.

* [mtouch] Move mtouch-specific code to mtouch-specific file.

* [msbuild] An empty string is a valid value for 'Interpreter', so make it a non-required property.

* [mtouch] Add sanity check for aot-compiling interpreted assemblies.

* Bump Mono

* [linker] Updates SDKs facades list

* Bump mono

* [msbuild] Adds facades which might override default nuget version to framework list

The collision resolver task reads them from here https://github.com/dotnet/sdk/blob/master/src/Tasks/Common/ConflictResolution/FrameworkListReader.cs

* Bump to a VSfM version that can build XM Classic projects.
spouliot added a commit that referenced this pull request Dec 6, 2018
* Bump to mono:2018-06

* Bump mono

* Updates compression to work with the public span

* Bump mono

* Fixes pointer check logic in Deflater

* Bump mono

* Fixes pointer check logic in Deflater

* Bump mono

* Bump Mono

* [runtime] always use `mono_jit_set_aot_mode` (#4491)

`mono_jit_set_aot_only` is deprecated and accidentally broke with
mono/mono#7887

This should fix device tests with `mono-2018-06`

* Testing with Zoltan's patch

* Include libmono-system-native on Xamarin.Mac

* Bump Mono

Commit list for mono/mono:

* mono/mono@7bcda192a06 Bump llvm to release_60/fc854b8ec5873d294b80afa3e6cf6a88c5c48886. (#9786). (#9804)
* mono/mono@23e95ec7ad7 Apply F# portable pdb debug fix for pinvokes & bump (#9797)
* mono/mono@295f6d32afd [2018-06] [MacOS] On Mac, use the copyfile API to copy files (#9696)

Diff: mono/mono@7d5f4b6...7bcda19

* Revert 4bacab3, it doesn't fix the ios aot problems.

* Bump mono

* [tests] Adjust the MT0137 test for mcs change in behavior.

Starting with mono 5.16 mcs will now add assembly references when the assembly
is only used in attributes (this was already the case for csc in both 5.14 and
5.16, so it seems to be a compatibility change).

Adjust the MT0137 test accordingly.

* [msbuild] Fix parsing of json parser errors to handle trailing periods in the error message.

Fixes this test:

    1) Test Failure : Xamarin.iOS.Tasks.Bug60536.TestACToolTaskCatchesJsonException
         ColumnNumber
      Expected: 2
      But was:  0

* Bump mono

* [builds] Install the old llvm binaries into the LLVM36 directory and make the 32 bit builds use that.

* Bump mono

* Bump to mono:2018-08

* Initialize Dependency Injector.

* Fix typo

* Fix llvm build

* Reflect latest X509CertificateImpl changes

* Use same compile flags also for link

Linking can fail if the minimum versions are different

* Bump mono

* Bump mono

* Assembly.LoadFile accepts only absolute path

* Bump mono

* [jenkins] Don't give VSTS a fake branch. (#4667)

Something in VSTS changed, and now fake branch names don't work anymore.

So instead use real branch names (and for pull requests I've created a
'pull-request' branch we can use).

* Assembly.LoadFile accepts only absolute path

* [linker] Add new Facade (System.Threading.Tasks.Extensions).

Fixes these MTouch test failures:

    1. Xamarin.Linker.SdkTest.iOS_Unified :   Facades
      Expected:
      But was:  < "System.Threading.Tasks.Extensions" >

    2. Xamarin.Linker.SdkTest.tvOS :   Facades
      Expected:
      But was:  < "System.Threading.Tasks.Extensions" >

    3. Xamarin.Linker.SdkTest.watchOS :   Facades
      Expected:
      But was:  < "System.Threading.Tasks.Extensions" >

* [linker] Add new Facade (System.Threading.Tasks.Extensions).

Fixes these MTouch test failures:

    1. Xamarin.Linker.SdkTest.iOS_Unified :   Facades
      Expected:
      But was:  < "System.Threading.Tasks.Extensions" >

    2. Xamarin.Linker.SdkTest.tvOS :   Facades
      Expected:
      But was:  < "System.Threading.Tasks.Extensions" >

    3. Xamarin.Linker.SdkTest.watchOS :   Facades
      Expected:
      But was:  < "System.Threading.Tasks.Extensions" >

* [tests] Reference GuiUnit_Net_4_5 using a project reference.

This makes sure GuiUnit is built when the main project is built.

* [mono-sdks] Necessary changes to unify the LLVM provisioning for both iOS and Android. (#4732)

* Bump Mono

* [mtouch] add mixed-mode support (#4751)

* [mtouch] add --interp-mixed option

When enabling this option, mtouch will AOT compile `mscorlib.dll`.  At
runtime that means every method that wasn't AOT'd will be executed by
the runtime interpreter.

* [mtouch] Add support to --interpreter to list the assemblies to (not) interpret.

* [msbuild] Simplify interpreter code to use a single variable.

* Fix whitespace.

* [mtouch] Move mtouch-specific code to mtouch-specific file.

* [msbuild] An empty string is a valid value for 'Interpreter', so make it a non-required property.

* [mtouch] Add sanity check for aot-compiling interpreted assemblies.

* Bump Mono

* [linker] Updates SDKs facades list

* Bump mono

* [msbuild] Adds facades which might override default nuget version to framework list

The collision resolver task reads them from here https://github.com/dotnet/sdk/blob/master/src/Tasks/Common/ConflictResolution/FrameworkListReader.cs

* Bump mono to pick up hybrid suspend fixes

Pick up the 2018-08 backport (mono/mono#10551)
of mono/mono#10545

This should fix GC hangs when managed code runs on a GCD threadpool worker
thread.

* [builds] Fix target name in llvm36 provisioning

package-llvm-llvm36-32 isn't defined in external/mono/sdks/builds/llvm.mk,
but package-llvm36-llvm32 is.

* Revert "[builds] Fix target name in llvm36 provisioning"

This reverts commit b233837.

* Revert "Fix llvm build"

This reverts commit f668561.

* [mono-sdks] Necessary changes to unify the LLVM provisioning for both iOS and Android. (#4732)

* Bump mono

* Bump mono

* Revert "Use same compile flags also for link"

This reverts commit cf20539.

* Bump mono to pick up mono/mono@1a309a7

* [mmptest] System.Core doesn't depend on Mono.Posix in 2018-08

System.Core doesn't depend on Mono.Posix anymore since it's using the corefx
implementation of pipes now mono/mono@0f0e318

* Bump mono and minimum system mono

* [security]: Make `SecCertificate` work with the latest runtime code.

* Fix the `NATIVE_APPLE_CERTIFICATE` logic; it should only be defined when
  using `XAMARIN_APPLETLS` and not on watch.

* It is no longer allowed to construct `X509Certificate` from a native pointer,
  the `X509Certificate(IntPtr)` and `X509Certificate2(IntPtr)` constructors now
  throw an exception.  Use `X509CertificateImplAppl` directly instead.

* Bump mono

* Bump VSmac min version to 7.7.0.1373

To pick up the fix for https://devdiv.visualstudio.com/DevDiv/_workitems/edit/658916/
Should fix the XM classic build failures

* Revert "Bump VSmac min version to 7.7.0.1373"

This reverts commit b2686bb.

* Bump to a VSfM version that can build XM Classic projects.

* Bump mono system dependency

* Bump mono

Pick up mono/mono@1644a1a0 - fix for mono/mono#10743

* Bump mono

* Bump mono

* [monotouch-test] Disable X509Certificate(byte[]) tests on watchOS (#4942)

* [monotouch-test] Disable X509Certificate(byte[]) tests on watchOS

* [tests] Add TestRuntime.AssertNotWatchOS()

* fixup WatchOS build

* Bump mono

* Bump mono

* [tests] Disable link-preserve-calendar-1 until we can upgrade it to be a Unified test.

See #4596 (comment)
for reference: mono's desktop API changed, the linker behavior the test is
verifying is only expected when using XM's Mobile profile.

* Bump mono

* Revert "[monotouch-test] Disable X509Certificate(byte[]) tests on watchOS (#4942)"

This reverts commit d003a9b.

* Bump Mono.

* [security]: `NATIVE_APPLE_CERTIFICATE` should now be defined on watchOS as well.

* Mono 2018-08 requires macOS 10.9+, so Xamarin.Mac must as well.

* Bump min mono version for XM system apps.

Using a system mono < 5.18 results in a TypeLoadException:

    Could not resolve type with token 01000032 from typeref (expected class 'Mono.ISystemDependencyProvider' in assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089')

* Bump guiunit to get updated min macOS version.

Commit list for mono/guiunit:

* mono/guiunit@9f67042 Bump min macOS version to 10.9.
* mono/guiunit@0c3159a [Harness] Fix exit code of 0 being reported in case of exceptions in the harness
* mono/guiunit@9b7497c Merge pull request #15 from mono/fix-more-warnings
* mono/guiunit@a264470 Fix more warnings
* mono/guiunit@dd094e7 Merge pull request #14 from mono/fix-warnings
* mono/guiunit@b3afede Fix build warnings

Diff: mono/guiunit@1306b0d...9f67042

* [tests] More min macOS version setting to 10.9.

* Remove 10.7 & 10.8 availability attributes, since they're redundant now.

* Bump mono

* [2018-08][watchos] Use mono_dangerous_add_raw_internal_call for watchOS icalls (#5030)

* Add optional mono_dangerous_add_raw_internal_call to exports.t4

* Use mono_dangerous_add_raw_internal_call on watchOS for icall registration

Internal calls added with mono_dangerous_add_raw_internal_call run in GC Unsafe
mode under cooperative and hybrid suspend, whereas internal calls added with
mono_add_internal_call run in GC Safe mode since
mono/mono@5756ba4 in order for hybrid suspend
to be a transparent replacement for preemptive suspend (the old default).  The
icalls in GC Unsafe mode have a responsibility not to block indefinitely
without manually performing a thread state transition to GC Safe mode, and in
return they avoid a thread state transition when the icall is invoked from a
managed method.

* [mmptest] Less hardcoding.

* Bump minimum mono one that has 'mono_dangerous_add_raw_internal_call'.

* Bump mono

* Bump system mono dependency

* Fixes building mono tests

* [ImageCaptureCore] Remove redundant availability attribute.

* [mtouch] Clear the MONO_THREADS_SUSPEND environment variable before calling the AOT compiler. Works around mono/mono#11765.

Visual Studio for Mac may set MONO_THREADS_SUSPEND, and this ends up confusing
the AOT compiler when compiling for watchOS.

So unset the environment variable before calling the AOT compiler.

Works around mono/mono#11765.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build-package Build (and create package) on internal Jenkins. Apply 'run-internal-tests' to run tests too. enable-device-build Makes our build include device support (which we disable for simple PRs to speed them up) run-all-tests Run all our tests. skip-api-comparison Skips API / generator diffs when testing pull requests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants