Граф коммитов

2366 Коммитов

Автор SHA1 Сообщение Дата
Manuel de la Pena 4097270665
[CI]Renove other files, better code. (#11713) 2021-05-27 12:06:44 -04:00
Rolf Bjarne Kvinge fa5bb58e6d
[static registrar] Add a missing call to xamarin_mono_object_release for return values from mono_value_box. (#11707)
Before:

    There were 258046 MonoObjects created, 235142 MonoObjects freed, so 22904 were not freed. (dynamic registrar)
    There were 205804 MonoObjects created, 204193 MonoObjects freed, so 1611 were not freed. (static registrar)

After:

    There were 258018 MonoObjects created, 235128 MonoObjects freed, so 22890 were not freed. (dynamic registrar)
    There were 205809 MonoObjects created, 204221 MonoObjects freed, so 1588 were not freed. (static registrar)
2021-05-27 13:54:09 +02:00
Manuel de la Pena bc3fdacebe
[CI] Remove xml files since they are in vsdrops and empty dirs. (#11704) 2021-05-27 06:06:06 -04:00
Rolf Bjarne Kvinge 2fed900225
[static registrar] Add a missing call to xamarin_mono_object_release for out parameters. (#11696)
This involves storing the out parameter in an additional variable, so that we
can still access it after the method call.

Before:

    There were 257927 MonoObjects created, 235060 MonoObjects freed, so 22867 were not freed. (dynamic registrar)
    There were 205700 MonoObjects created, 203983 MonoObjects freed, so 1717 were not freed. (static registrar)

After:

    There were 257935 MonoObjects created, 235064 MonoObjects freed, so 22871 were not freed. (dynamic registrar)
    There were 205700 MonoObjects created, 204006 MonoObjects freed, so 1694 were not freed. (static registrar)
2021-05-27 07:31:02 +02:00
Manuel de la Pena 97e34bc451
[CI] Fix build reason if and uses a better branch name. (#11690) 2021-05-26 23:34:29 -04:00
Manuel de la Pena 19bafa46e9
[CI] Expressions should be between $() (#11701) 2021-05-26 23:31:38 -04:00
Manuel de la Pena 37bbb91851
[CI] Override if present. (#11698)
This should not happen since we should not be getting same url.
2021-05-26 20:46:19 -04:00
Manuel de la Pena ff138b724e
[CI] Path returns errors becuase of missing ' use method. (#11697) 2021-05-26 15:47:51 -04:00
Rolf Bjarne Kvinge e4ce1a389d
[static registrar] Add a few missing calls to xamarin_mono_object_release for arrays. (#11685)
Before:

> There were 205700 MonoObjects created, 113865 MonoObjects freed, so 91835 were not freed. (static registrar)

After:

> There were 205700 MonoObjects created, 113982 MonoObjects freed, so 91718 were not freed. (static registrar)
2021-05-26 20:39:16 +02:00
Manuel de la Pena 8a2ed36ee3
[CI] Add debugging and fix some issue when detecting if it is a VM (#11598)
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-05-26 13:36:27 -04:00
Manuel de la Pena 9d97d43f74
[CI] Verify the notarized pkgs. (#11677) 2021-05-26 10:38:09 -04:00
Manuel de la Pena 90c9593bf2
[CI] Remove txt files and use a better path for the static content. (#11676) 2021-05-26 10:26:48 -04:00
Manuel de la Pena 2a208f2f16
[CI] Add files to git and push them to the static web. (#11666) 2021-05-25 15:41:25 -04:00
Rolf Bjarne Kvinge 7705a87833
[mlaunch] Fix conditional makefile logic. (#11668)
This makes us ship mlaunch in .NET again.
2021-05-25 21:31:47 +02:00
Manuel de la Pena f0496e8f84
[CI] Unzip downloaded data and remove logs for the static github page. (#11653) 2021-05-24 22:20:45 -04:00
Manuel de la Pena ebe19d7865
[CI] Download all artifacts and show files to be removed. (#11639)
Step fwd to get the stativ page. We download all the artifacts from the
cascade pipeline. The artifacts are inherited thanks to the trigger.

Download, extract, print files to be removed.
2021-05-21 10:15:54 -04:00
Rolf Bjarne Kvinge 3acfa092dd
[registrar] Fix whitespace and remove unnecessary semicolon (#11644) 2021-05-21 07:54:00 +02:00
Rolf Bjarne Kvinge aad913db86
[msbuild/dotnet] Add support for NativeReference items. Fixes #11061. (#11593)
* Pass any native references to the LinkNativeCode task so that they're linked
  with the main executable.
* Copy frameworks and dynamic libraries to the app bundle (also add support
  for MSBuild metadata - the CopyToAppBundle property - to avoid copying a
  framework / dynamic library to the app bundle).
* Refactor MTouchTaskBase a bit to make parts of it reusable from the
  LinkNativeCode task.
* Add tests.

Fixes https://github.com/xamarin/xamarin-macios/issues/11061.
2021-05-21 07:49:24 +02:00
Rolf Bjarne Kvinge 9f3c97560f
[registrar] Fix indentation for cleanup code (#11630) 2021-05-20 16:25:11 +02:00
Rolf Bjarne Kvinge b4952521d3 Merge remote-tracking branch 'origin/main' into issue-11061 2021-05-20 16:22:50 +02:00
Manuel de la Pena e30179c819
[CI] Create branch in cascade pipeline for the html of a given build. (#11621)
The branch name will be:

* pr/branchname/branch_commit/buildid - for builds triggered by a pr
* ci/branchname/branch_commit/buildid - for all others.

Commit and build id have been added to ensure we have no collisions.
2021-05-20 09:42:03 -04:00
Rolf Bjarne Kvinge 1b655344df
[mmp] Don't define CORECLR_RUNTIME when compiling the partial static registrar code (#11618)
We already define it in the generated code, so the native compiler shows a warning:

    Microsoft.macOS.registrar.coreclr.x86_64.m:1:9: warning: 'CORECLR_RUNTIME' macro redefined [-Wmacro-redefined]
    #define CORECLR_RUNTIME
            ^
    <command line>:2:9: note: previous definition is here
    #define CORECLR_RUNTIME 1
            ^
2021-05-20 07:35:52 +02:00
TJ Lambert 72496111df
[Localization] Sync Localization branch with Main (#11603)
Add changes to sync main into Localization branch

Co-authored-by: tj_devel709 <antlambe@microsoft.com>
Co-authored-by: Connor Adsit <cadsit@microsoft.com>
2021-05-19 15:36:41 -05:00
Manuel de la Pena cecc343301
[CI] Fix API diff uploads since they broke when we wanted to continue on failure. (#11609) 2021-05-19 13:32:03 -04:00
Rolf Bjarne Kvinge 2d412041cb Merge remote-tracking branch 'origin/main' into issue-11061 2021-05-19 17:40:30 +02:00
Manuel de la Pena e246a83b82
[CI] Update the config and parse it in the cascade pipeline. (#11587) 2021-05-19 08:22:38 -04:00
Rolf Bjarne Kvinge 022fa9c697
[runtime] Throw a runtime exception instead of execution engine exception. (#11599)
* One less Mono Embedding method used: good for CoreCLR.
* More consistent with the rest of our code / behavior.
2021-05-19 07:34:13 +02:00
Manuel de la Pena eaa91190a6
[CI] If api & generator fail also ignore in publish html. (#11570) 2021-05-18 11:44:07 -04:00
Rolf Bjarne Kvinge e8678d5f1e [msbuild/dotnet] Add support for NativeReference items. Fixes #11061.
* Pass any native references to the LinkNativeCode task so that they're linked
  with the main executable.
* Copy frameworks and dynamic libraries to the app bundle (also add support for
  MSBuild metadata - the CopyToAppBundle property - to avoid copying a framework
  / dynamic library to the app bundle).
* Add tests.

Fixes https://github.com/xamarin/xamarin-macios/issues/11061.
2021-05-18 09:11:31 +02:00
Rolf Bjarne Kvinge 0e957d347f
[registrar] Define CORECLR_RUNTIME when in the generated registrar code for CoreCLR (#11584)
This makes sure that we build the right thing, our shipped headers behave
differently whether CORECLR_RUNTIME is defined or not.
2021-05-18 07:36:29 +02:00
Rolf Bjarne Kvinge adb355b757
[runtime] Add support for creating managed exceptions from native code for CoreCLR. (#11538) 2021-05-14 07:27:42 +02:00
Manuel de la Pena bdfa8ca344
[CI] If the api & generator is not built do not fail the build. (#11525)
If can happen that when we bump xcode we do not get an api & generator
diff. This results in a set of cascading events that make the build
fail.

We know track when the result is not 0, store it in a var and pass that
variable to all the tempaltes that need it. The pwsh script already has
an if to check if the file if present and if not, it shows a warning.
2021-05-13 17:18:32 -04:00
Rolf Bjarne Kvinge 427c5447db
[tools] Make exception marshalling the default for CoreCLR (and make it an error to choose otherwise). (#11535)
* Make 'throw Objective-C exception' the default for managed exception marshalling.
* Make 'throw managed exception' the default for Objective-C exception marshalling.
* Disallow the 'unwind through native frames' option: CoreCLR won't do it.
* Disallow the 'unwind through managed frames' option: it's the safeset
  option by far, and also matches the reverse case.
* Disallow the 'disable' option: this is also not safe, let's try to go the
  safe route with CoreCLR.
* Change the default in native code too.

Partial fix for #10940.
2021-05-13 20:59:18 +02:00
Rolf Bjarne Kvinge 64e19d2d34
[runtime] Implement mono_class_get_nullable_param for CoreCLR. (#11531) 2021-05-13 20:39:07 +02:00
TJ Lambert 4fb1707e11
initial changes to Change languageSet and Dependencies (#11512)
Co-authored-by: tj_devel709 <antlambe@microsoft.com>
2021-05-13 08:35:08 -05:00
Manuel de la Pena d1904eccf1
[CI] Remove noise added when debugging at the start of the CI move. (#11526) 2021-05-13 08:43:06 -04:00
Sebastien Pouliot 6b94c43de6
[dotnet][linker] Fix the elimitation of calls for `UIApplication::EnsureUIThread` (#11523)
Lack of `MONOTOUCH` define in the dotnet csproj [1] made this look for
the AppKit (XM) version.

[1] defining `MONOTOUCH` would have required several more changes.
Simplicity won!

|    Size    | MySingleView.app |
| ----------:|------------------|
|  4,579,985 | legacy           |
| 10,787,541 | dotnet [before](https://gist.github.com/02e072567595088522f376e522e22899) |
| 10,786,829 | dotnet [after](https://gist.github.com/afa5b7d4f9bb281646f050257034be11) |

There are other ways to achieve this with ILLink [2] but again:
Simplicity (by re-using) won!

[2] https://github.com/xamarin/xamarin-macios/issues/11477

--- a.cs	2021-05-12 14:17:13.000000000 -0400
+++ b.cs	2021-05-12 14:17:17.000000000 -0400
@@ -3764,13 +3764,6 @@
 }
 namespace UIKit
 {
-	public class UIKitThreadAccessException : Exception
-	{
-		public UIKitThreadAccessException()
-			: base("UIKit Consistency error: you are calling a UIKit method that can only be invoked from the UI thread.")
-		{
-		}
-	}
 	[Register("UIApplication", true)]
 	public class UIApplication : UIResponder
 	{
@@ -3824,14 +3817,6 @@
 			UIApplicationMain(args.Length, args, principal, @delegate);
 		}

-		public static void EnsureUIThread()
-		{
-			if (CheckForIllegalCrossThreadCalls && mainThread != null && mainThread != Thread.CurrentThread)
-			{
-				throw new UIKitThreadAccessException();
-			}
-		}
-
 		protected internal UIApplication(IntPtr handle)
 			: base(handle)
 		{
@@ -3862,7 +3847,6 @@
 		public UIButton(CGRect frame)
 			: base(NSObjectFlag.Empty)
 		{
-			UIApplication.EnsureUIThread();
 			if (base.IsDirectBinding)
 			{
 				InitializeHandle(Messaging.IntPtr_objc_msgSend_CGRect(base.Handle, Selector.GetHandle("initWithFrame:"), frame), "initWithFrame:");
@@ -3876,7 +3860,6 @@
 		[Export("setTitle:forState:")]
 		public virtual void SetTitle(string title, UIControlState forState)
 		{
-			UIApplication.EnsureUIThread();
 			IntPtr arg = NSString.CreateNative(title);
 			if (base.IsDirectBinding)
 			{
@@ -3948,8 +3931,7 @@
 			[Export("bounds")]
 			get
 			{
-				//Discarded unreachable code: IL_002f
-				UIApplication.EnsureUIThread();
+				//Discarded unreachable code: IL_002b
 				if (base.IsDirectBinding)
 				{
 					_ = 8;
@@ -3965,7 +3947,6 @@
 			[Export("mainScreen")]
 			get
 			{
-				UIApplication.EnsureUIThread();
 				return Runtime.GetNSObject<UIScreen>(Messaging.IntPtr_objc_msgSend(class_ptr, Selector.GetHandle("mainScreen")));
 			}
 		}
@@ -4025,7 +4006,6 @@
 		[Export("addSubview:")]
 		public virtual void AddSubview(UIView view)
 		{
-			UIApplication.EnsureUIThread();
 			IntPtr nonNullHandle = NativeObjectExtensions.GetNonNullHandle(view, "view");
 			if (base.IsDirectBinding)
 			{
@@ -4065,7 +4045,6 @@
 			[Export("view", ArgumentSemantic.Retain)]
 			get
 			{
-				UIApplication.EnsureUIThread();
 				if (base.IsDirectBinding)
 				{
 					return Runtime.GetNSObject<UIView>(Messaging.IntPtr_objc_msgSend(base.Handle, Selector.GetHandle("view")));
@@ -4083,7 +4062,6 @@
 		public UIViewController()
 			: base(NSObjectFlag.Empty)
 		{
-			UIApplication.EnsureUIThread();
 			if (base.IsDirectBinding)
 			{
 				InitializeHandle(Messaging.IntPtr_objc_msgSend(base.Handle, Selector.GetHandle("init")), "init");
@@ -4124,7 +4102,6 @@
 			[Export("setRootViewController:", ArgumentSemantic.Retain)]
 			set
 			{
-				UIApplication.EnsureUIThread();
 				IntPtr arg = NativeObjectExtensions.GetHandle(value);
 				if (base.IsDirectBinding)
 				{
@@ -4146,7 +4123,6 @@
 		public UIWindow(CGRect frame)
 			: base(NSObjectFlag.Empty)
 		{
-			UIApplication.EnsureUIThread();
 			if (base.IsDirectBinding)
 			{
 				InitializeHandle(Messaging.IntPtr_objc_msgSend_CGRect(base.Handle, Selector.GetHandle("initWithFrame:"), frame), "initWithFrame:");
@@ -4160,7 +4136,6 @@
 		[Export("makeKeyAndVisible")]
 		public virtual void MakeKeyAndVisible()
 		{
-			UIApplication.EnsureUIThread();
 			if (base.IsDirectBinding)
 			{
 				Messaging.void_objc_msgSend(base.Handle, Selector.GetHandle("makeKeyAndVisible"));
@@ -4188,7 +4163,6 @@
 		public UIApplicationDelegate()
 			: base(NSObjectFlag.Empty)
 		{
-			UIApplication.EnsureUIThread();
 			base.IsDirectBinding = false;
 			InitializeHandle(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, Selector.GetHandle("init")), "init");
 		}
```

Co-authored-by: Sebastien Pouliot <sebastien.pouliot@microsoft.com>
2021-05-12 20:18:49 -04:00
Manuel de la Pena 05e2a460c7
[CI] Use stage names and clean the triggers. (#11461)
Add stage names to the templates to use them in triggers in the future.
Remove a yaml file that turned out not to be needed (via a hack around
vsts limitations).
2021-05-12 18:26:00 -04:00
TJ Lambert 6eb60b9f74
Adding changes to make sure tests are not run in scheduled builds (#11518)
Co-authored-by: tj_devel709 <antlambe@microsoft.com>
2021-05-12 17:16:32 -05:00
Sven Boemer dc320a3606
Update to new linker custom steps API (#11374)
* Update to new linker custom steps API

* PR feedback

- Fix indentation
- Add Initialize(LinkContext) to ExceptionalMarkHandler
- Remove unnecessary ifdef
- Use IsSetter/IsGetter
- Use [0] instead of Single()
- Avoid allocating empty collections

* Note override issue

* Clean up comments

* Move `DynamicRegistrationSupported` change earlier, along with the
detection code.

This solve the issue that `ILLink` does a similar job _before_ we have
the chance to disable the dynamic registrar.

* ILLink does not support considering other attributes as `[Preserve]`

when it is itself preserved at the assembly-level.

This ignored test is checking that feature so it cannot be enabled
for `NET`

Added to known breaking changes https://github.com/xamarin/xamarin-macios/issues/8900

* Fix removal of the dynamic registrar on legacy

* Fix IntPtr size inlining

Co-authored-by: Sebastien Pouliot <sebastien.pouliot@microsoft.com>
2021-05-12 12:26:54 -04:00
Rolf Bjarne Kvinge 6e9d9b483d
[runtime] Implement mono_array_new and mono_array_length for CoreCLR. (#11515)
* [runtime] Implement mono_array_new for CoreCLR.

* [runtime] Implement mono_array_length for CoreCLR.
2021-05-12 15:21:56 +02:00
Rolf Bjarne Kvinge a3932e8765
Improve support for ARM64 on macOS. (#11501)
* Implement our xamarin_dyn_objc_msgSend[Super] overrides for ARM64.
* Modify mmp to use those overrides.
* Fix an issue with the existing xamarin_arm64_common_trampoline that caused
  exceptions to not unwind correctly.
* Add an ARM64 variation of xammac tests in xharness.
* Various test fixes.
2021-05-12 07:35:10 +02:00
Rolf Bjarne Kvinge af41f128de
[runtime] Implement mono_class_get_element_class for CoreCLR. (#11500) 2021-05-12 07:31:26 +02:00
Manuel de la Pena ffbb1d16cd
[Translations] Fix error message format with an extra brace. (#11502)
Updated via:
```bash
git grep -rl "Behavior}" ./ | xargs sed -i '.back' 's/Behavior}/Behavior/g'
```
2021-05-11 22:27:54 -04:00
Rolf Bjarne Kvinge 71fbdb7d27 [registrar] Register bools correctly for macOS/ARM64 in the dynamic registrar. 2021-05-11 15:54:39 +02:00
Rolf Bjarne Kvinge 178d9ae2ea [runtime/tools] Use the newly implemented objc_msgSend overrides for ARM64. 2021-05-11 15:54:39 +02:00
Rolf Bjarne Kvinge 8fc51f7e8e
[runtime] Implement mono_type_get_object for CoreCLR. (#11484) 2021-05-10 15:38:13 +02:00
Peter Collins fc22a097a8
[build] Add installer dependency to linker packs (#11352)
Adds a coherent parent dependency to `Microsoft.NET.ILLink.Tasks`, which
ensures that it will not be updated past the version included in
`Microsoft.Dotnet.Sdk.Internal`.

These changes allow us to remove our mono/linker darc subscriptions, as
`Microsoft.Dotnet.Sdk.Internal` updates will also bring in the latest
`Microsoft.NET.ILLink.Tasks` that the SDK references.  This will reduce
the number of dependency update PRs created by maestro.

Since the `Microsoft.NET.ILLink.Tasks` and `Microsoft.NET.ILLink` NuGet
packages are created by the same build, we only need to track one of
these package IDs in eng/Version* files.

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-05-10 13:00:07 +02:00
TJ Lambert 6cf9d78298
[Localization] Enabling OneLocBuild for every build (#11472)
Enabling OneLocBuild to run every build we have on main because the Loc team will need the Loc artifacts to be published every time. By moving the conditional to the isPRSelected input, we will run the task every time but only create the PRs once a week!
2021-05-07 09:30:59 -05:00
Rolf Bjarne Kvinge 1a689d3b14
[runtime] Implement mono_class_from_mono_type for CoreCLR. (#11470) 2021-05-07 15:47:03 +02:00
Sebastien Pouliot ccd769bd9d
[linker] Split CoreTypeMapStep into two parts (#11474)
The newly extracted `RegistrarRemovalTrackingStep` can be used inside
`dotnet-linker` to remove the dynamic registrar (if not required by some
other code).
2021-05-07 08:20:23 -04:00
TJ Lambert a154f30e03
[Localization] Localization changes for OneLocBuild (#11395)
Enabling MSBuild, Mtouch, and all their localization dependencies to use the new resx files provided from OneLocBuild.
2021-05-06 19:42:53 -05:00
Manuel de la Pena 5fba60958d
[CI] Detect ig we are running a vm and set the vendor. (#11471) 2021-05-06 14:58:57 -04:00
Manuel de la Pena 3b850752d4
[CI] Store the config in a json to later be shared with other pipelines. (#11460)
We are using cascade pipelines, those are triggered automatically and
get all the artifacts. We create a json file that will be used by one of
the cascaded pipelines to make educated choices.
2021-05-06 10:44:15 -04:00
Rolf Bjarne Kvinge c51cba525a
[runtime] Implement mono_runtime_invoke for CoreCLR. (#11439)
* [runtime] Implement mono_runtime_invoke for CoreCLR.

* [runtime] We always need a native xamarin_mono_object_retain function.
2021-05-06 07:25:43 +02:00
Manuel de la Pena 3f8a9ac9e0
[CI] Dump the hardware of the bot to see if we are virtual. (#11453)
Are we virtual or are we dancers?
2021-05-05 22:57:10 -04:00
Manuel de la Pena 3ac7d583d5
[CI] Remove apitest from the tests executed inolder macs. (#11452)
The test was merge with the xammac_tests in commit
93bbfe7a86
but we did not have the tests running to know.

This should fix some of the failures we have in older macs.
2021-05-05 22:02:25 -04:00
Mike Bond 906cb14c06
[CI] Use yaml-templates agent pool selector (#11356)
Use release version of yaml-templates agent pool selector from main

https://github.com/xamarin/yaml-templates/pull/115
2021-05-05 22:01:58 -04:00
Sebastien Pouliot 4ba7bf3b9d
[tests][dotnet] A few helping touch to do size comparison (#11446)
- Make git ignore the generated `report.md`
- Fix `.aotdata` reported total size in reports (was always 0)
- Add option to strip the dotnet app bundle (until [1]) so it's easier to compare with _oldnet_ sizes.

[1] https://github.com/xamarin/xamarin-macios/issues/11445
2021-05-05 19:15:18 -04:00
Sebastien Pouliot b90fa78bfa
[dotnet][linker] Only register assemblies that we're not deleting from the bundle (#11437)
So we generate this, inside `registrar.mm`, for a simple app

```objc
	static const char *__xamarin_registration_assemblies []= {
		"MySingleView",
		"System.Runtime.Serialization.Formatters",
		"System.Runtime",
		"System.Private.CoreLib",
		"Xamarin.iOS"
	};
```

instead of

```objc
	static const char *__xamarin_registration_assemblies []= {
		"MySingleView",
		"Microsoft.CSharp",
		"Microsoft.VisualBasic.Core",
		"Microsoft.VisualBasic",
		"Microsoft.Win32.Primitives",
		"Microsoft.Win32.Registry",
		"System.AppContext",
		"System.Buffers",
		"System.Collections.Concurrent",
		"System.Collections.Immutable",
		"System.Collections.NonGeneric",
		"System.Collections.Specialized",
		"System.Collections",
		"System.ComponentModel.Annotations",
		"System.ComponentModel.DataAnnotations",
		"System.ComponentModel.EventBasedAsync",
		"System.ComponentModel.Primitives",
		"System.ComponentModel.TypeConverter",
		"System.ComponentModel",
		"System.Configuration",
		"System.Console",
		"System.Core",
		"System.Data.Common",
		"System.Data.DataSetExtensions",
		"System.Data",
		"System.Diagnostics.Contracts",
		"System.Diagnostics.Debug",
		"System.Diagnostics.DiagnosticSource",
		"System.Diagnostics.FileVersionInfo",
		"System.Diagnostics.Process",
		"System.Diagnostics.StackTrace",
		"System.Diagnostics.TextWriterTraceListener",
		"System.Diagnostics.Tools",
		"System.Diagnostics.TraceSource",
		"System.Diagnostics.Tracing",
		"System.Drawing.Primitives",
		"System.Drawing",
		"System.Dynamic.Runtime",
		"System.Formats.Asn1",
		"System.Globalization.Calendars",
		"System.Globalization.Extensions",
		"System.Globalization",
		"System.IO.Compression.Brotli",
		"System.IO.Compression.FileSystem",
		"System.IO.Compression.ZipFile",
		"System.IO.Compression",
		"System.IO.FileSystem.AccessControl",
		"System.IO.FileSystem.DriveInfo",
		"System.IO.FileSystem.Primitives",
		"System.IO.FileSystem.Watcher",
		"System.IO.FileSystem",
		"System.IO.IsolatedStorage",
		"System.IO.MemoryMappedFiles",
		"System.IO.Pipes.AccessControl",
		"System.IO.Pipes",
		"System.IO.UnmanagedMemoryStream",
		"System.IO",
		"System.Linq.Expressions",
		"System.Linq.Parallel",
		"System.Linq.Queryable",
		"System.Linq",
		"System.Memory",
		"System.Net.Http.Json",
		"System.Net.Http",
		"System.Net.HttpListener",
		"System.Net.Mail",
		"System.Net.NameResolution",
		"System.Net.NetworkInformation",
		"System.Net.Ping",
		"System.Net.Primitives",
		"System.Net.Quic",
		"System.Net.Requests",
		"System.Net.Security",
		"System.Net.ServicePoint",
		"System.Net.Sockets",
		"System.Net.WebClient",
		"System.Net.WebHeaderCollection",
		"System.Net.WebProxy",
		"System.Net.WebSockets.Client",
		"System.Net.WebSockets",
		"System.Net",
		"System.Numerics.Vectors",
		"System.Numerics",
		"System.ObjectModel",
		"System.Private.DataContractSerialization",
		"System.Private.Uri",
		"System.Private.Xml.Linq",
		"System.Private.Xml",
		"System.Reflection.DispatchProxy",
		"System.Reflection.Emit.ILGeneration",
		"System.Reflection.Emit.Lightweight",
		"System.Reflection.Emit",
		"System.Reflection.Extensions",
		"System.Reflection.Metadata",
		"System.Reflection.Primitives",
		"System.Reflection.TypeExtensions",
		"System.Reflection",
		"System.Resources.Reader",
		"System.Resources.ResourceManager",
		"System.Resources.Writer",
		"System.Runtime.CompilerServices.Unsafe",
		"System.Runtime.CompilerServices.VisualC",
		"System.Runtime.Extensions",
		"System.Runtime.Handles",
		"System.Runtime.InteropServices.RuntimeInformation",
		"System.Runtime.InteropServices",
		"System.Runtime.Intrinsics",
		"System.Runtime.Loader",
		"System.Runtime.Numerics",
		"System.Runtime.Serialization.Formatters",
		"System.Runtime.Serialization.Json",
		"System.Runtime.Serialization.Primitives",
		"System.Runtime.Serialization.Xml",
		"System.Runtime.Serialization",
		"System.Runtime",
		"System.Security.AccessControl",
		"System.Security.Claims",
		"System.Security.Cryptography.Algorithms",
		"System.Security.Cryptography.Cng",
		"System.Security.Cryptography.Csp",
		"System.Security.Cryptography.Encoding",
		"System.Security.Cryptography.OpenSsl",
		"System.Security.Cryptography.Primitives",
		"System.Security.Cryptography.X509Certificates",
		"System.Security.Principal.Windows",
		"System.Security.Principal",
		"System.Security.SecureString",
		"System.Security",
		"System.ServiceModel.Web",
		"System.ServiceProcess",
		"System.Text.Encoding.CodePages",
		"System.Text.Encoding.Extensions",
		"System.Text.Encoding",
		"System.Text.Encodings.Web",
		"System.Text.Json",
		"System.Text.RegularExpressions",
		"System.Threading.Channels",
		"System.Threading.Overlapped",
		"System.Threading.Tasks.Dataflow",
		"System.Threading.Tasks.Extensions",
		"System.Threading.Tasks.Parallel",
		"System.Threading.Tasks",
		"System.Threading.Thread",
		"System.Threading.ThreadPool",
		"System.Threading.Timer",
		"System.Threading",
		"System.Transactions.Local",
		"System.Transactions",
		"System.ValueTuple",
		"System.Web.HttpUtility",
		"System.Web",
		"System.Windows",
		"System.Xml.Linq",
		"System.Xml.ReaderWriter",
		"System.Xml.Serialization",
		"System.Xml.XDocument",
		"System.Xml.XPath.XDocument",
		"System.Xml.XPath",
		"System.Xml.XmlDocument",
		"System.Xml.XmlSerializer",
		"System.Xml",
		"System",
		"WindowsBase",
		"mscorlib",
		"netstandard",
		"System.Private.CoreLib",
		"Xamarin.iOS"
	};
```

It probably has a positive impact on build time (but not measured).
2021-05-05 08:26:02 -04:00
Manuel de la Pena a86bbc5466
[CI] Create post pipelines that will publish html results. (#11431)
Create two pipelines that will be triggered when a new build is
completed and contains tests results. There are some important details:

1. pipeline triggers have to specify all branches or a subset. We use
   tags to trigger for PRs.
2. Tags are and, not or, so we need to pipelines (lame lame).

Due to 2. we add a new tag to identify ci builds.
2021-05-04 17:08:52 -04:00
Manuel de la Pena 12dd318212
[CI] Do not clutter the nuget feed with PR build nugets. (#11428)
Do not publish the nugets that have been created in a PR build. The
build results can be accessed from the comment once completed. This way
we make sure that next builds do not have conflicts when publishing the
nugets.
2021-05-04 15:31:44 -04:00
Rolf Bjarne Kvinge 938f63da22
[tests] Make the mtouch test project reference the actual mtouch project. (#11400)
This makes it easier to test localized strings used in mtouch, since we don't have
to replicate the build for all the resources.

This required a few changes to avoid including code in the mtouch tests that already
exists in the mtouch executable.

Also rename the mtouch test project to mtouchtests.csproj.

This way the test project can reference the actual mtouch.csproj without
causing conflicts due to having two projects with the same name.

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-05-04 14:10:03 +02:00
Rolf Bjarne Kvinge 14f7cf48a0
[mlaunch] Don't ship for MacCatalyst. (#11397)
We don't need mlaunch for MacCatalyst.
2021-05-04 08:26:01 +02:00
Rolf Bjarne Kvinge 14e76c0139
[runtime] Return the exception from wrapper methods for exception marshalling. (#11382)
There's no general way to set a pending managed exception in CoreCLR (the
current plan is to support setting a pending managed exception for the
objc_msgSend family of functions). This means that the way we've implemented
custom wrappers that can handle Objective-C exceptions won't work, because
those wrappers currently tries to set a pending managed exception (which Mono
throws upon returning from the corresponding native wrapper function).

So rewrite this a bit: these custom wrappers now return a GCHandle with the
managed exception as an out parameter, and the calling managed code throws
that exception instead.

This also required adjusting a few API definitions to match how their wrapper
functions are defined.
2021-05-04 08:25:38 +02:00
Manuel de la Pena b720b44827
[CI] Just requests translations in the cron job. (#11420)
Execute the loc step + the creation of a PR only in the cron job and
skipt it in anyother build.
2021-05-03 11:35:18 -04:00
Manuel de la Pena 19482a71ae
[CI] Allow to enable or disable the dotnet builds. (#11358)
Create a new parameter that can be used to decide if we build or not the
dotnet parts of the project. If we do not, we make sure that we do not
have any errors in all the other steps.
2021-05-02 20:31:42 -04:00
Manuel de la Pena cc05e967a4
[Generator Diff] Ignore file we are not interested in. (#11409) 2021-05-02 20:08:51 -04:00
Sebastien Pouliot 5ef7fb2784
[dotnet][msbuild] Strip symbols from native executable (#11378)
We have to consider (setup and process) `libSystem.Globalization.Native`
in order not to remove the required symbols when stripping the native
executable.

Ignore `libSystem.Globalization.Native` for dotnet / catalyst
ref: https://github.com/xamarin/xamarin-macios/issues/11392
2021-05-02 15:06:11 -04:00
Connor Adsit 88554a71d6
Enable setting provisionator channel as parameter (#11377)
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-04-30 16:47:15 -04:00
Manuel de la Pena 4d93be60c6
[CI] Add a prefix to make it nicer to humans when several builds happen. (#11391) 2021-04-30 08:24:12 -04:00
Rolf Bjarne Kvinge 8e9f86aad8
[runtime] Implement mono_method_get_class for CoreCLR. (#11389) 2021-04-30 07:53:30 +02:00
Rolf Bjarne Kvinge 4b8c328a48
[mlaunch] Only build if both iOS and macOS are enabled. (#11384) 2021-04-30 07:50:14 +02:00
Manuel de la Pena 993c744347
[CI] Re-enable API and Generator diff. (#11187)
Use the jenkins script as a base to get the PAI & generator from stable
diff back to the CI. Comment is not perfect, but does provide the
required information. The comment can be improve in a later commit since
this is getting too large.
2021-04-29 17:53:06 -04:00
Manuel de la Pena a4426e8a5c
[CI] Unblock the CI by using our own channel for provisionator. (#11368) 2021-04-28 16:22:22 -04:00
Rolf Bjarne Kvinge e4960ad9e3
[dotnet] Build the partial static registrar for CoreCLR. (#11345)
* The generated static registration code will eventually be different.
* The generated code has to be compiled with different compiler flags.

This also required adding a new overload of xamarin_mono_object_release for the generated
code to compile.
2021-04-28 07:34:40 +02:00
Manuel de la Pena a1a5c01935
[Xharness] Fix the test selector. (#11315)
Fix the tests selector by setting the PR number in an env variable that
is not longer linked with Jenkins.

Fixes #11299
2021-04-27 09:23:21 -04:00
Rolf Bjarne Kvinge 43f1d02dae
[CoreCLR] Implement xamarin_gchandle_get_target. (#11333)
This also meant reviewing calling code to make sure that MonoObject*s are
released when they should be, which meant reviewing every method that returns
a MonoObject*, and release the result.
2021-04-27 14:59:03 +02:00
Manuel de la Pena 5de96fd9f8
[CI] Continue on error when we cannot publish a nuget. (#11336) 2021-04-26 18:45:49 -04:00
Manuel de la Pena 99fa931a27
[CI] Fix nuget messaging in case of failure. (#11335) 2021-04-26 13:29:24 -04:00
Manuel de la Pena 9ff88c19a1
[CI] Workaorund misconfig pools. (#11323)
For some reason, some of the internal hosted pools have been set without
the OS version (WRONG WRONG). The simples way is to allow to skip this
check in those pools over re-configuring all bots.

'We can lick gravity, but sometimes the paperwork is overwhelming.'
2021-04-26 10:22:29 -04:00
Manuel de la Pena 52ae1dd1da
[CI] Fix mac tests provisioning. (#11324) 2021-04-26 10:21:14 -04:00
Manuel de la Pena fee57615f9
[CI] Add the context in the failed device bots. (#11318) 2021-04-24 06:46:09 -04:00
Manuel de la Pena 26d64a1a24
[CI] Unify both failing statuse. (#11311) 2021-04-23 16:45:59 -04:00
Rolf Bjarne Kvinge 5d42c933f1
[runtime] Move xamarin_create_managed_ref internal call to managed code. (#11271)
Move the xamarin_create_managed_ref internal call to managed code, to ease things
with CoreCLR.

In order to preserve performance, this wasn't a straight forward port.

* monotouch_create_managed_ref used to detect if there already was a GCHandle for
  a native object. To avoid a managed->native transition, this logic has now been
  moved into the code that sets the GCHandle (the xamarinSetGCHandle🎏 / xamarin_set_gchandle_trampoline
  code), and these methods return a value saying whether the GCHandle was set or
  not.

* xamarin_create_gchandle will check the retain count to determine whether to create
  a weak or a strong GCHandle for the managed object. In this particular case we
  should never need to create a strong GCHandle, which means that we don't need to
  check the retain count (saving a managed->native transition).

Using the new perftest (#11298), I get very similar numbers for both old code and new code: https://gist.github.com/rolfbjarne/e0fc2ae0f21da15062b4f051138679af (multiple runs). Sometimes the old code is faster, sometimes the new code is faster (although the old code tends to be the one who wins).

In any case there aren't any significant performance hits due to this change, so it should be good to go.
2021-04-23 18:42:11 +02:00
Manuel de la Pena 9c2ca9ccf5
[CI] Add triggers for new release branches. (#11303) 2021-04-22 18:50:47 -04:00
Rolf Bjarne Kvinge a3613a187f
[tools] Fix a typo in the error message for MX2301 that caused a format exception. (#11291)
Makes this error show properly:

> error MM2301: The linker step 'Setup' failed during processing: This version of {0} requires the {1} {2} SDK (shipped with Xcode {3}). Either upgrade Xcode to get the required header files or use the dynamic registrar or set the managed linker behaviour to Link Platform or Link Framework SDKs Only in your project's Mac Build Options > Linker Behavior} (to try to avoid the new APIs).. String.Format failed! Arguments were: "Microsoft.macOS" "macOS" "11.3" "12.5". Please file an issue to report this incorrect error handling.
2021-04-22 20:51:58 +02:00
Manuel de la Pena 196b4fa371
[CI] Fix pwsh. (#11296) 2021-04-22 14:01:02 -04:00
Rolf Bjarne Kvinge add11fbe39
[mmp] Use the resolver (and configure it correctly) when using --runregistrar. (#11288)
* Extract the code we use to configure the assembly resolver during a normal
  mmp run to make it usable for --runregistrar.
* Configure the assembly resolver we use for --runregistrar.
* Pass the assembly resolver to the registrar so that it's actually used.
* Adjust the System.Void lookup to look everywhere even if we find a corlib,
  since behavior changes a bit now that we're using an assembly resolver:
	* Previous behavior:
		1. In .NET mode, look for a corlib named System.Private.CoreLib, and fail to find it.
		2. Look in all the loaded assemblies for System.Void (and find it in System.Runtime.dll).
	* Broken behavior as a result of the resolver changes:
		1. Find corlib as System.Private.CoreLib.dll
		2. Fail to find System.Void in System.Private.CoreLib.dll, since we'd only look in corlib.
	* New behavior
		1. Find corlib as System.Private.CoreLib.dll
		2. Fail to find System.Void in System.Private.CoreLib.dll, but find it in System.Runtime.dll,
		   since we're now looking in all the loaded assemblies.

This is required to make VSMac's usage of --runregistrar
2021-04-22 14:47:47 +02:00
Manuel de la Pena 25715b8b5f
[CI] Remove duplicated status. (#11274) 2021-04-21 21:34:27 -04:00
Manuel de la Pena fac9cdc52f
[CI][VSTS] Remove redudant status. (#11267)
VSTS already provides a status per job, since the governance tests do
not give much feedback in the comments and just set a status, we can use
the default provided by the VSTS app.
2021-04-21 21:24:13 -04:00
Manuel de la Pena bceac54356
[CI] The env var is not provided in the CI builds, just PRs. (#11268) 2021-04-21 21:23:25 -04:00
Manuel de la Pena 78ef8b8d03
[CI] Remove Mac OS devices that will not happen. (#11272)
Remove those devices of Mac OS X that will not happen because we cannot
run the agent in such and old device. This is due to the fact that the
agent runs using c# and we do not support such and old OS.

Also add a new stage to run tests on catalina. ATM older OS as not
working, but Catalina should work with our trusted pool.
2021-04-21 17:47:10 -04:00
Manuel de la Pena 0ad8144f17
[CI] Reduce the number of statuses when we build nugets. (#11242)
We move from having a status per nugets to two statues:

1. xamarin-macios (Nugets built) -  to let us know that we did build
   nugets.
2. xamarin-macios (Nuvets published) - to let us know tat we did pubish
   the nugets.
2021-04-21 15:51:30 -04:00
Manuel de la Pena d0c09eb437
[CI] Fix import issue in device test templates. (#11249) 2021-04-21 09:30:50 -04:00
Manuel de la Pena 0455d94ba8
[CI][VSTS] Ensure statuses are set in the correct commit and not the merge commit. (#11250)
On a pull request, Azure DevOps does not build the exact version of the code that you pushed,
but a version merged with your target branch. This means that the commit
we see in the Buid.Revision is not the one of the last commit of the PR,
which makes some statuses get "lost" and checks be missed.

We make a distintion on which variable to used base on the build reason.
2021-04-21 06:11:36 -04:00
Rolf Bjarne Kvinge 405441f544
[mtouch] It seems watchOS simulators can automatically choose the right architecture from fat apps. (#11241)
* [mtouch] It seems watchOS simulators can automatically choose the right architecture from fat apps.

So we can build a fat simulator app, and not depend on mlaunch copying in the
specific architecture at launch time.

A partial fix for https://github.com/xamarin/maccore/issues/2411.

* Bump maccore.

New commits in xamarin/maccore:

* xamarin/maccore@d11721f55e [Xamarin.Hosting] Xcode seems to have changed some logic with regards to getting the primary instruments server. (#2416)
* xamarin/maccore@d27297a098 [Xamarin.Hosting] Don't copy single-arch executable over a fat executable. (#2417)
* xamarin/maccore@6c305d4aa7 [Xamarin.Hosting] Launching may succeed even if the launch request fails. Don't fail in that case. (#2415)
* xamarin/maccore@bccc91d6a0 Support ARM64 and ARM64e simulators (#2418)

Diff: c89fd6a694..d11721f55e
2021-04-21 08:00:02 +02:00
Peter Collins dec81b602a
[ci] Fix artifact upload in post build pipeline (#11231)
The artifact upload task in post-build-pipeline.yaml was not indented
correctly and the automatic pipeline triggers were not firing as a
result.
2021-04-16 16:01:39 -04:00
Sebastien Pouliot 3511995fd7
[linker] Obsolete 'LinkerSafeAttribute' in favor of `AssemblyMetadata` (#11229)
In this case we can obsolete the attribute on both legacy and dotnet
since the replacement attribute is available on both. However this does
require a small update to the legacy linker (and is part of the PR).

Fix https://github.com/xamarin/xamarin-macios/issues/10674
2021-04-16 15:06:49 -04:00
Manuel de la Pena 6e7205a5f4
[CI] Avoid other not needed steps on provisioning issues. (#11199) 2021-04-15 17:25:30 -04:00
Manuel de la Pena 46d8e430a5
[CI] There is no reason to need to run these tests on device bots. (#11214) 2021-04-15 10:41:16 -04:00
Manuel de la Pena 359b79abbc
[CI] Provide the info of the commit that generated a message. (#11203) 2021-04-14 17:44:12 -04:00
Peter Collins 2dc113ea28
[CI] Upload build asset data to darc/maestro (#11189) 2021-04-14 17:34:30 -04:00
Sebastien Pouliot 737a19199b
[static-registrar] Re-order some code in ToObjCParameterType (#11211)
This avoid some computation that might not be needed.

It also avoids a `NullReferenceException` when updating to net6 preview 4
builds (where `ResolveType` can return `null` but the type reference was
enough to complete the job).
2021-04-14 16:44:31 -04:00
Manuel de la Pena 20318fe15a
[CI] Add a tag to identify those auto-scheduled builds. fixes #11191 (#11204) 2021-04-14 10:56:31 -04:00
Manuel de la Pena 312ab983a1
[CI] Provide the name of the bot with provisioning issues. (#11198) 2021-04-13 16:35:04 -04:00
Manuel de la Pena d1465586da
[CI] If the device tests could not be provisioned do communicate it. (#11194)
Rather than let the pipeline continue doing steps that do not make
sense, report the issue to be reviewed and reported to the bot admins.

The need of that template and extra env variable is due to the lack of
proper scripting in yaml so I have to get creative.
2021-04-12 21:25:31 -04:00
Filip Navara 605bc43e44
[dotnet] Handle `lib` prefix for P/Invokes for runtime native libraries (#11158)
* Workaround dotnet/runtime#47533 and avoid listing required symbols when native libraries are dynamically linked
* Don't call LibMonoNativeLinkMode on macOS builds
* Apply iOS workarounds also for tvOS and Mac Catalyst
2021-04-10 13:02:55 -04:00
Manuel de la Pena 75e913ed4f
[CI] Set status as error if one or more tests failed. (#11170)
Co-authored-by: Alex Soto <alex@alexsoto.me>
2021-04-09 21:52:25 -04:00
Manuel de la Pena 6022c63970
[CI] Re-enable CI on maestro branches. (#11181)
Because the maestro bot is not a team memeber AND cannot be added as
one, it will not trigger a PR build, but it will trigger an CI build. WE
make the changes to take those as PR builds and do them in the CI.
2021-04-09 21:40:44 -04:00
Sebastien Pouliot f85af095da
[dotnet] Add ICU support for iOS builds (#11163)
and re-enable some tests for dotnet

Part of the fix for https://github.com/xamarin/xamarin-macios/issues/8906

Known Issues
* [some Calendar are not the expected ones](https://github.com/dotnet/runtime/issues/50859)
* [No support for tvOS (bitcode)](https://github.com/dotnet/runtime/issues/48508)
2021-04-09 17:06:26 -04:00
Manuel de la Pena b4ae740a43
[CI] Do not try to upload test results when not ran. (#11176)
We allow to manually run the builds with no tests, yet we had some
expectations in following jobs. This commit makes sure we do not get
errors when not runnning the tests.
2021-04-09 12:51:08 -04:00
Alex Soto 8b926000a6
Merge branch 'main' into alex-xcode12.5-main 2021-04-08 17:42:32 -04:00
TJ Lambert 6dc0ea89d1
Turning off isCreatePRSelected (#11139)
Co-authored-by: TJ Lambert <tjlambert@microsoft.com>
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-04-08 17:21:39 -04:00
Manuel de la Pena c9486eb6c8
[CI] Perform a run with no tests on Sundays for the translations team. (#11159)
Create a cron job that will execute on Sundays at noon to have a green
build for the translations team to use.
2021-04-08 11:39:04 -04:00
Sebastien Pouliot 4e5f5fe030
[tests[ Add app bundle size comparison between legacy and dotnet (#11149)
Based on Rolf's earlier work [1] and a copy of my `app-compare` code [2]

[1] https://github.com/rolfbjarne/xamarin-macios/tree/dotnet-size-comparison-helloworld
[2] https://github.com/spouliot/dotnet-tools/tree/master/app-compare
2021-04-07 16:10:40 -04:00
Manuel de la Pena 9d22123562
[CI] Fix wrong fwd labels. (#11144)
We are trying to join the json rather than the collection of strings.
$tag is a collection we can joing.
2021-04-07 09:24:08 -04:00
Alex Soto cff0f14ab8 Merge remote-tracking branch 'origin/alex-xcode12.5-main' into alex-xcode12.5-main 2021-04-06 21:38:47 -04:00
Manuel de la Pena 50f23672fd [CI] Fix wrong fwd labels.
We are trying to join the json rather than the collection of strings.
$tag is a collection we can joing.
2021-04-06 21:34:56 -04:00
Alex Soto 2dc65e0d62 Merge remote-tracking branch 'xamarin/main' into alex-xcode12.5-main 2021-04-06 20:13:29 -04:00
Manuel de la Pena 8bddf85cf7
[CI][GitHub] Use the correct verb to the request. (#11133) 2021-04-06 19:53:00 -04:00
Manuel de la Pena 6cf8cdb804
[CI] Simplify if for stage selection. (#11131) 2021-04-06 16:24:49 -04:00
Manuel de la Pena 65a319d514
[CI] Do not generate no used stages. (#11102) 2021-04-06 09:51:29 -04:00
Manuel de la Pena 7b750598d9
[CI] Group all API diff in a template to make things manageable. (#11112) 2021-04-05 18:49:18 -04:00
Manuel de la Pena faae5d1531
Exclude builds for certain paths. (#11104) 2021-04-05 13:28:18 -04:00
Manuel de la Pena b046835875
[CI] Black magic to make life better. (#11101)
We are doing some black magic. We have several templates that
are executed with different parameters.

The problem with that is that templates cannot be used with the
matrix strategy, so we are doing a little trick based on the following:

1. We can create a template that expands.
2. We can use the each keyword, which allow a loop
3. yaml is a super set of json, therefore, it was jsond dictionaties

We use the parameters as yaml objs (simple json ones) and we pass them.
Now we can:

1. Add more tests with less typing.
2. Modify the tests when we manually trigger a build.

Yes! number 2 is very cool, do you want to remove a stage from a manual
build, just delete it. Do you want to change the device test labels,
just edit the object.
2021-04-05 11:50:45 -04:00
Alex Soto bc1d8513a6 Merge remote-tracking branch 'xamarin/xcode12.5' into alex-xcode12.5-main 2021-04-02 21:46:31 -04:00
Manuel de la Pena 05ccf94798
[CI] Move sign and notarize out. We will remove it then. (#11092) 2021-04-02 20:10:49 -04:00
Manuel de la Pena fd9d98f8fa
[CI] Do not build darc PRs in the CI. (#11089) 2021-04-02 16:48:56 -04:00
Mike Bond c5b3f98658
Target new xamarin-macios multi-OS agent pools (#11090) 2021-04-02 13:43:19 -07:00
VS MobileTools Engineering Service 2 ca6d2da669
[CI] Add the id of the pr to an old env var to reuse scripts. (#11079)
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-04-02 07:00:26 -04:00
VS MobileTools Engineering Service 2 dc3f48385f
[xcode12.5] [CI] Do not build translation branches in the internal pool. (#11077)
* [CI] Do not build translation branches in the internal pool.

* VSTS I love you.

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-04-02 06:59:57 -04:00
Peter Collins 5c12fdfac9
[build] Use arcade dependency management tooling (#10890)
* [build] Use arcade dependency management tooling

* Apply feedback

* Apply second round of feedback

* Always make dotnet.config before trying to read it

* Debugging

* Update dependencies, trim tabs and spaces

* [dotnet] Remove the existing workload shipped with .NET and install our locally built ones.

The new version of .NET ships with our workloads, but those aren't
the workloads we want to use, so replace them with our own.

* Update .gitignores.

* Bump to 6.0.100-preview.3.21181.5

That required renaming simulator runtime packs...

* More rename for simulator packages

* moar (hopefully all)

* Bump to 6.0.100-preview.3.21201.11

This fix the issue with `Wait` that failed several tests in monotouch-tests

However it does not include the fix for AppConext.GetData on device (AOT)

Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
Co-authored-by: Sebastien Pouliot <sebastien@xamarin.com>
2021-04-02 00:02:27 -04:00
Sebastien Pouliot 656dfa039f
Revert "[dotnet-linker] Make PreserveSmartEnumConversionsStep active for type as well to work around a linker bug." (#11064)
This reverts commit 482151eea7.

This issue https://github.com/mono/linker/issues/1458 has been fixed a while ago.

Co-authored-by: Sebastien Pouliot <sebastien.pouliot@microsoft.com>
2021-04-02 00:00:13 -04:00
Sebastien Pouliot bf080032ef
Revert "[dotnet] Force the GC mode to be preemptive. (#10667)" (#11074)
This reverts commit abc3616873.

The issue https://github.com/dotnet/runtime/issues/47121 was fixed recently.

Co-authored-by: Sebastien Pouliot <sebastien.pouliot@microsoft.com>
2021-04-01 23:46:57 -04:00
Manuel de la Pena 801ac4113d
[CI] Add the id of the pr to an old env var to reuse scripts. (#11069) 2021-04-01 23:29:21 -04:00
Manuel de la Pena 936a90eb5e
[CI] Do not build translation branches in the internal pool. (#11073)
* [CI] Do not build translation branches in the internal pool.

* VSTS I love you.
2021-04-01 23:27:28 -04:00
VS MobileTools Engineering Service 2 efb4a36666
[xcode12.5] [CI] Fwd labels and ensure dotnet tests are run when targeting main. (#11070)
* [CI] Fwd labels and ensure dotnet tests are run when targeting main.

* Add 'run-dotnet-tests' to the tags to make manuel happy.

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-04-01 23:26:22 -04:00
Manuel de la Pena 119f7dd153
[CI] Fwd labels and ensure dotnet tests are run when targeting main. (#11068)
* [CI] Fwd labels and ensure dotnet tests are run when targeting main.

* Add 'run-dotnet-tests' to the tags to make manuel happy.
2021-04-01 19:28:03 -04:00
VS MobileTools Engineering Service 2 73977364cb
[xcode12.5] [CI] Fix pool selector (#11057)
* [VSmac] Bump max version to the new stable. (#11025)

* Remove not needed code.

Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-03-31 23:00:46 -04:00
Manuel de la Pena 0db6ec065a
[CI] Run the dotnet tests by default ONLY on main. (#11060) 2021-03-31 21:41:21 -04:00
VS MobileTools Engineering Service 2 c70658cc7a
[CI] 50gb is a lot. Reduce to 20gb since our device bots are old. (#11049)
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-03-31 19:38:26 -04:00
Manuel de la Pena d32edd2ba8
[CI] Fix pool selector (#11032) 2021-03-31 17:25:46 -04:00
TJ Lambert 444d412f9a
[Localization] Changing the Build.SourceBranchName Variable (#11052)
Remove the need to check if we are in a PR, just execute the translations when we are in main, that reduces the complexity of the condition and works.

Co-authored-by: TJ Lambert <tjlambert@microsoft.com>
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-03-31 16:53:12 -04:00
Manuel de la Pena d0069abd4a
[CI] Remove steps that are never used. (#11026) (#11046) 2021-03-31 13:57:44 -04:00
TJ Lambert 0aea33ad6a
[Localization] Trigger OneLocBuild only on Merges to Main (#11033)
Co-authored-by: TJ Lambert <tjlambert@microsoft.com>
2021-03-31 11:08:00 -05:00
VS MobileTools Engineering Service 2 2506ebf311
[xcode12.5] [CI][XHarness] Ensure we filter the tests to run. (#11044)
VSTS does not longer have a file with the pat yet it does allow to use
an env variable with the pat provided by the keyvault. Before this
change we have been running all the tests which results in several extra
hours when we do not need to. For example, if nothing was changed in
msbuild, do not run its tests which are 45 mins long.

Changes are:

* provide pat in the env.
* update xharness to use an env var, do not longer read from a file.

fixes: https://github.com/xamarin/xamarin-macios/issues/10923


Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-03-31 11:24:03 -04:00
Manuel de la Pena 6a7d0f71fe
[CI] 50gb is a lot. Reduce to 20gb since our device bots are old. (#11031) 2021-03-31 10:54:58 -04:00
VS MobileTools Engineering Service 2 61ff7cd33d
[CI] VSdrops uris are case sensitive. (#11039)
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-03-31 07:35:47 -04:00
VS MobileTools Engineering Service 2 e8d18c7a7c
[CI] Remove noise that was added while testing. (#11038)
Co-authored-by: Manuel de la Pena <mandel@microsoft.com>
2021-03-31 07:35:13 -04:00