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

36 Коммитов

Автор SHA1 Сообщение Дата
Rolf Bjarne Kvinge 9647b45ce4 Merge remote-tracking branch 'origin/net9.0' into merge-net9.0-into-main 2024-10-01 17:03:30 +02:00
Rolf Bjarne Kvinge fc9d73b761
[devops] Unify and simplify provisionator provisioning. (#21268)
This should speed up getting bots ready, since now we only run the
provisionator once for each bot, and we also don't try to provision the
same thing multiple times.
2024-09-27 18:19:03 +02:00
Peter Collins 448999982c
[msbuild] Add @(XcodeProject) action (#21232)
Context: https://github.com/CommunityToolkit/Maui.NativeLibraryInterop

Introduces a `@(XcodeProject)` build action which can be used to build
and consume the outputs of Xcode framework projects.

The following metadata are supported on this item:

```xml
  <XcodeProject Include="path/to/myproject.xcodeproj" >
    <Configuration>Release</Configuration>
    <CreateNativeReference>true</CreateNativeReference>
    <ForceLoad></ForceLoad>
    <Frameworks></Frameworks>
    <Kind>Framework</Kind>
    <OutputPath></OutputPath>
    <SchemeName></SchemeName>
    <SmartLink></SmartLink>
    <Visible></Visible>
  </XcodeProject>
```

 * `%(SchemeName)`: The name of the build scheme or target that should
    be used to build the project.

 * `%(Configuration)`: The name of the configuration to use to build the
    project. The default value is `Release`.

 * `%(CreateNativeReference)`: Output XCFRAMEWORK files will be added as
    a `@(NativeReference)` to the project. Metadata supported by
    `@(NativeReference)` like `%(Kind)`, `%(Frameworks)`, or `%(SmartLink)`
    will be forwarded if set. The default value is `true`.

 * `%(OutputPath)`: Can be set to override the XCARCHIVE and XCFRAMEWORK
    output path of the Xcode project. The default value is
    `$(IntermediateOutputPath)xcode/{SchemeName}-{Hash}`.

A new `_BuildXcodeProjects` target will attempt to build XCARCHIVE and
XCFRAMEWORK files for each `@(XcodeProject)` item. These outputs will be
created for the platform specified in the target framework. If multiple
target frameworks are specified, the project will be built for each
platform during each inner build.

A new `$(MaciOSPrepareForBuildDependsOn)` build extension point has been
added to allow customer projects to more easily hook into the beginning
of the build process.

---------

Co-authored-by: Peter Collins <pecolli@microsoft.com>
Co-authored-by: Alex Soto <alex@soto.dev>
2024-09-24 23:47:09 +02:00
Rolf Bjarne Kvinge 18eaeb24b2
[net8.0] [build] Require using EnablePreviewFeatures=true when using preview releases. Contributes towards #18343. (#18476)
Detect if we're using a non-stable Xcode, and in that case produce packages
that show an error if they're used and the EnablePreviewFeatures flag isn't
enabled.

Also add logic to set this flag for our own build, otherwise all our tests
would fail.

This is the same as Android does.

Contributes towards https://github.com/xamarin/xamarin-macios/issues/18343.
2023-06-22 08:16:50 +02:00
Rolf Bjarne Kvinge a1d0b6eba9
Make our local .NET the default .NET for the build. (#15086)
Make our local .NET the default .NET (in the root's global.json), and then if
a directory wants to use the system .NET, then that directory would have to
opt-in (using its own global.json).

This way we don't have to copy global.json/NuGet.config files around to run
tests with the correct .NET setup.
2022-06-07 10:11:02 +02: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
Alex Soto df769bf654
[tests] Get samples build tests running again (#10677)
* The manifest is gone, now we create an on the fly "manifest" using the "vsts-devdiv artifacts" json file
* Points VSMac to the selected Xcode path
* Switch to templated Xcode provisioning
* Turn Xcode symlinks into actual Xcode installations
2021-02-21 10:24:26 -05:00
Manuel de la Pena 3e7464e461
[CI][VSTS] Rename path to fix API diff (#10384)
Since 'packages' is a common dir name that is ignored. Revert the change
in the .gitignore and rename the template path since it just means a one
liner change in the entry yaml file.

fixes: https://github.com/xamarin/maccore/issues/2359
2021-01-12 11:32:26 -05:00
Manuel de la Pena 1e78a9de6a
[VSTS] Move away from Jenkins to VSTS pipelines for xamarin-macios. (#10302)
Initial implementation of the projects CI in yaml to be uses with VSTS. The port is not complete as there are some small issues to address, the following are the known issues:

* https://github.com/xamarin/maccore/issues/2349 
* https://github.com/xamarin/maccore/issues/2350
* https://github.com/xamarin/xamarin-macios/issues/10299
* https://github.com/xamarin/xamarin-macios/issues/10298
* https://github.com/xamarin/xamarin-macios/issues/10300
* https://github.com/xamarin/maccore/issues/2351

Nevertheless the CI already compiles the project, creates the pkgs and nugets and publishes them so that we can create insertions.


Co-authored-by: Mike Bond <mjbond-msft@outlook.com>
Co-authored-by: cadsit <connor.adsit@gmail.com>
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
2021-01-06 10:48:54 -05:00
Rolf Bjarne Kvinge c640775699 [dotnet] Bump to .NET 6.0.100-alpha.1.20556.2. and net6.0
New commits in spouliot/Touch.Unit:

* spouliot/Touch.Unit@f8768d9 Advance into the world of net6.0

Diff: 9abe69e6f5..f8768d99ef
2020-11-10 11:41:06 +01:00
Rolf Bjarne Kvinge 39e3184f02
[src] Build the .NET version of our product assemblies using a .NET 5 BCL. (#9637)
* [src] Build the .NET version of our product assemblies using a .NET 5 BCL.

We're not shipping the .NET product assemblies in any stable release, so we
can use a preview version of the .NET 5 BCL.

Also:

* Add all the nuget feeds we need to the top-level NuGet.config, even for .NET
  5/6, there shouldn't be any conflicts with stable feeds since we use exact
  version numbers.

* Generate a top-level global5.json which is copied to every directory that
  needs a .NET 5 global.json (overriding the .NET 3.1 global.json in the root
  directory).

* Use the expected dotnet binary during our local build.

* [tests] Fix the bgen tests to use .NET 5.

* [xharness] Set the current directory to the project directory when running .NET tests.

This way we end up using the dotnet version that's configured in global.json for the tests.
2020-09-21 13:22:44 +02:00
Manuel de la Pena 95e06389c1
[.gitignore] Ignore vscode settings dit. (#8747) 2020-06-03 18:40:22 -04:00
Rolf Bjarne Kvinge 90049c3c62
Ignore *.binlog files. (#8704)
They're binary msbuild logs produced by 'msbuild /bl:msbuild.binlog'.
2020-05-28 15:01:23 +02:00
Manuel de la Pena 6dfcd88fbd
[.gitignore] Ignore the json that is created on a device crash on xharness. (#8683)
Those files can be found when we test crashes locally and should not be
added to the project.
2020-05-26 16:34:22 -04:00
Manuel de la Pena 9f380e257e
[Devops] Move to use provisionator to get xcode. (#8570)
Move to use the provisionator and add a make file to generat the script
so that we only have to bump xcode in a single place.

Move all deps to provisionator and make provisionator download and
install the xi pkg that has been built to be tested in the pipeline, we
do not longer use curl to do it.
2020-05-12 10:59:53 -04:00
Manuel de la Pena a22958640c
[.gitignore] Update ignore file to take into accoung a common IDE. (#8514) 2020-05-05 10:45:56 -04:00
Rolf Bjarne Kvinge 3136610ca4
Add dotnet as a configure option and provision it. (#8052)
* [configure] Add --[enable|disable]-dotnet.

And make it enabled by default on CI and disabled by default elsewhere for now
(because it makes the build significantly slower).

* [system-dependencies] Add support for provisioning .NET.

Also write a global.json in the root directory which is how we select which
.NET version to use.
2020-03-05 22:03:38 +01:00
Manuel de la Pena 4c6181e904
[Test] Bump mono and use the new splited tests. (#7626)
Bump mono to get the new splited test dlls and add them to be ran in
xharness. Special logic is used for mscorlib so we make sure that all
the 'parts' of the test dll do have the same configurations.


Co-Authored-By: Waleed Chaudhry <54864665+wachaudh@users.noreply.github.com>
2019-12-23 18:39:41 -05:00
Manuel de la Pena 867dcfaa77
[Tests] Split groups so that they work on iOS 32b. (#7612)
After this commit we will have more application but they will be the
appropiate size so that they can be built with the linker for iOS 32b.
It is important to note that the following apps WILL CONTINUE to fail
since the dlls need to be splitted in mono:

* mscorlib tests
* Mono BCL tests group 5 - Which is monotouch_System.Core_xunit-test.dll
and is too large.
2019-12-17 17:09:28 -05:00
Rolf Bjarne Kvinge 303aa0a649 Merge remote-tracking branch 'origin/xcode11' into master-xcode11 2019-09-13 18:35:18 +02:00
Manuel de la Pena d08ff59503
[API diff] Ignore the bcl autogenerated csproj. (#6715)
Related issue: https://github.com/xamarin/xamarin-macios/issues/6162
2019-08-05 16:58:27 +02:00
Manuel de la Pena f4a976105b
Ignore the outgenerated projects until they are moved to their own dir. (#6712) 2019-08-05 16:56:16 +02:00
Rolf Bjarne Kvinge f80e6b4032
[sampletester] Provision Xcode when it's not already available. Fixes #6326. (#6498)
Add a separate provisioning script to install Xcode if it's not already installed on the bot.

For some unknown reason it needs to be a separate script, otherwise the provisionator will complain it doesn't know the required GitHub token to download Xcode.

Fixes https://github.com/xamarin/xamarin-macios/issues/6326.
2019-07-09 06:45:20 -07:00
Manuel de la Pena 505006952c
[Tests] Add a new iOS app to run the xunit and nunit tests (#4914)
Mono know provides a set of testing assemblies that contain the tests to be ran in each of the supported platforms. This commit adds the following:

1. Two different runners that can be used to execute NUnit and xUnit tests.
2. The necessary  glue to get xharness to run the new tests and report the results.
3. A new test that will ensure that if mono adds new tests, xharness will report failures if the tests are not run or not ignored.
2018-11-16 13:31:40 -05:00
Vincent Dondain d34f1fbbd7 Merge branch 'xcode9.3' into d15-7-merge-xcode9.3 2018-03-29 19:31:01 -04:00
Manuel de la Pena fab52e38c4 [AVFoundation] Backport new API from master. (#3605) 2018-02-28 15:46:22 -05:00
Rolf Bjarne Kvinge f43cb7eefa
Update .gitignore with directory newer versions of VSfM creates. (#3225) 2018-01-15 18:54:02 +01:00
Marek Safar 35fbf71bb3 Update .gitignore with pdb files 2017-03-21 00:00:13 +01:00
Rolf Bjarne Kvinge 29918ffbc2 Update gitignore. (#721)
Newer versions of Xamarin Studio are producing *.user files now,
so ignore those.
2016-08-31 10:09:48 -04:00
Rolf Bjarne Kvinge 6c0374a29a [jenkins] Run the api diff. (#73) 2016-06-02 14:30:17 +02:00
Sebastien Pouliot 00ada0f773 Move parts of dontlink tests into new introspection tests (#32)
Those tests needs to be run with the linker disabled since they use
reflection for most of their work.

The original dontlink (for linker tests) was becoming too large in
some configuration (e.g. tvOS release with bitcode) but this was
due to other BCL assemblies (not the introspection tests)
2016-05-04 20:14:32 -04:00
Rolf Bjarne Kvinge 4aed2cf7fe Store configure configuration in configure.inc.
And leave Make.config.inc for only manual configuration.
2016-04-26 12:39:21 -04:00
Rolf Bjarne Kvinge 5830166c63 Build the platform assemblies. 2016-04-24 14:47:26 -04:00
Rolf Bjarne Kvinge ac418df815 Build our runtime. 2016-04-24 14:47:24 -04:00
Rolf Bjarne Kvinge 9ea0738c48 Add our mono runtimes to the build. 2016-04-24 14:47:24 -04:00
Rolf Bjarne Kvinge 39ef301279 Add build system. 2016-04-21 19:11:24 +02:00