Some of the availability attributes are from earlier OS versions, but
it's what the headers + Apple's documentation say.
Note: there were no changes in beta 2, beta 3, beta 4, beta 5 or beta 6.
Replace `MacPoolAccessToken` with a dynamically obtained Azure DevOps
access token. The `MacPoolAccessToken` is backed by the
`botdeploy--azdo--token--register--untrusted` secret, which is limited
to a 7-day lifespan. This change removes the dependency on that token
We were ignoring members based on whether a member had
ObsoletedOSPlatformAttribute/UnavailableOSPlatformAttribute, not taking
into account that the attribute might not apply to the current platform.
So implement logic to only take into account
[Obsoleted|Unavailable]OSPlatformAttributes for the current platform.
This is mostly geared towards removing things that are now unnecessary to do
in CI and take a significant amount of time (there's still plenty of minor legacy
logic).
The pwsh used on windows is based on dotnet framework. Dotnet framework
has a limit in the size of the env that can be passed to a child
process. We are very close to reach the limit, but after #21009 we can
ignore that env variable since it is parsed from the args.
This is just needed for the ci pipeline because the issues are going to
have are related with the vsdrops task used to upload nuget results
etc..
This is because `EnablePreviewFeatures=true` doesn't quite work, since it
requires the building .NET and the target .NET to be on the same version.
We might want to build with .NET 9, but the Xcode branch is targeting .NET 8,
so it doesn't work.
This behavior is explained here:
https://github.com/dotnet/designs/blob/main/accepted/2021/preview-features/preview-features.md#meaning-of-property-in-multi-targeted-projects
The best solution seems to switch to using the Experimental attribute instead,
which was designed for our scenario (and explicitly to fix the problem we're
running into): bba3216250/accepted/2023/preview-apis/preview-apis.md
This also meant we had to augment `-nowarn` for bgen to:
* Pass any nowarn values to the compiler when bgen compiles stuff.
* Pass `$(NoWarn)` (the MSBuild property) to bgen when building a binding project.
---------
Co-authored-by: Alex Soto <alex@soto.dev>
Because simulator is where we most commonly run tests.
And hardcode arm64 - if x64 is ever needed, and I'm bugged enough to add
auto-detection, I'll do it then.
There's both a Network.NWEndpoint and a NetworkExtension.NWEndpoint, and the
generator generates ambiguous code in certain cases.
Fix the generator to use the full type reference for such types.
At the moment we are recaculating the configuration that was used in the
build to decide which tests to run, that is not needed since the
configuration was uploaded to the artifacts.
This change will allow to do the following:
- Load the default variables on the build pipeline this will allow us to
set the name of the tests to match those of the build for easy parsing.
- Load the default variables to set the property comment in the PR.
- Do not recalculate the built platforms on the tests matrix.
- Do not calculate the API scan matrix, it is not needed for the tests.
---------
Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
There's a bug where the test variation to run introspection on older OS
versions doesn't properly exclude legacy Xamarin variations when legacy
Xamarin is disabled.
Since legacy Xamarin is dead, just remove introspection for legacy Xamarin
completely.