Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
a53573d
Update dependencies from https://github.com/dotnet/dotnet build 20260…
dotnet-maestro[bot] May 25, 2026
ce24196
Update BuildReleaseArm64 CoreCLR apkdesc files from CI artifacts
jonathanpeppers May 26, 2026
187e962
Merge branch 'main' into darc-main-6939d88e-694e-419c-9ce2-d342c59da0eb
jonathanpeppers May 26, 2026
256f0b7
Merge branch 'main' into darc-main-6939d88e-694e-419c-9ce2-d342c59da0eb
jonathanpeppers May 26, 2026
cb81a7f
Update dependencies from https://github.com/dotnet/dotnet build 20260…
dotnet-maestro[bot] May 27, 2026
0f86512
Update dependencies from https://github.com/dotnet/dotnet build 20260…
dotnet-maestro[bot] Jun 1, 2026
2d99d40
Disable shared compiler in macOS CI
simonrozsival Jun 1, 2026
4345877
Serialize macOS CI solution build
simonrozsival Jun 1, 2026
2545e1e
Reduce CI restore concurrency
simonrozsival Jun 1, 2026
43d7e35
Increase NuGet retry backoff in CI
simonrozsival Jun 1, 2026
3b1ccbf
Harden CI restores against feed throttling
simonrozsival Jun 1, 2026
da1aa4a
Limit NuGet HTTP concurrency in CI
simonrozsival Jun 1, 2026
b56953e
Harden workload install against feed failures
simonrozsival Jun 1, 2026
7c67c92
Merge main into dependency update
simonrozsival Jun 1, 2026
350e28d
Harden smoke test restores against feed failures
simonrozsival Jun 2, 2026
32feb96
Fix smoke test MSBuild arg formatting
simonrozsival Jun 2, 2026
70a5975
Retry Windows solution build in CI
simonrozsival Jun 2, 2026
2a30bf8
Bound macOS CI build parallelism
simonrozsival Jun 2, 2026
1d87f05
Restore shared compiler for macOS CI
simonrozsival Jun 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions NuGet.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<add key="maxHttpRequestsPerSource" value="4" />
</config>
<packageSources>
<clear />
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,10 @@ steps:
parameters:
xaSourcePath: ${{ parameters.xaSourcePath }}

- script: make jenkins PREPARE_CI=1 PREPARE_AUTOPROVISION=1 CONFIGURATION=$(XA.Build.Configuration) MSBUILD_ARGS='${{ parameters.makeMSBuildArgs }}'
- script: make jenkins PREPARE_CI=1 PREPARE_AUTOPROVISION=1 CONFIGURATION=$(XA.Build.Configuration) MSBUILD_ARGS='/p:RestoreDisableParallel=true /p:NuGetAudit=false ${{ parameters.makeMSBuildArgs }}'
workingDirectory: ${{ parameters.xaSourcePath }}
displayName: make jenkins
retryCountOnTaskFailure: 3

- script: make create-nupkgs CONFIGURATION=$(XA.Build.Configuration)
workingDirectory: ${{ parameters.xaSourcePath }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,14 @@ steps:
xaSourcePath: ${{ parameters.xaSourcePath }}

# Prepare and Build everything
- script: make jenkins CONFIGURATION=$(XA.Build.Configuration) PREPARE_CI=1 PREPARE_AUTOPROVISION=1 MSBUILD_ARGS='${{ parameters.makeMSBuildArgs }}'
# Keep bounded MSBuild parallelism on macOS CI to avoid compiler-server overload and feed throttling.
- script: make jenkins CONFIGURATION=$(XA.Build.Configuration) PREPARE_CI=1 PREPARE_AUTOPROVISION=1 MSBUILD_ARGS='/m:4 /nr:false /p:RestoreDisableParallel=true /p:NuGetAudit=false ${{ parameters.makeMSBuildArgs }}'
workingDirectory: ${{ parameters.xaSourcePath }}
displayName: make jenkins
timeoutInMinutes: 90
retryCountOnTaskFailure: 3

- script: make create-installers CONFIGURATION=$(XA.Build.Configuration) MSBUILD_ARGS='${{ parameters.makeMSBuildArgs }}'
- script: make create-installers CONFIGURATION=$(XA.Build.Configuration) MSBUILD_ARGS='/m:4 /nr:false /p:RestoreDisableParallel=true /p:NuGetAudit=false ${{ parameters.makeMSBuildArgs }}'
workingDirectory: ${{ parameters.xaSourcePath }}
displayName: make create-installers

Expand Down
14 changes: 10 additions & 4 deletions build-tools/automation/yaml-templates/build-windows-steps.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,25 +29,27 @@ steps:

- task: DotNetCoreCLI@2
displayName: Prepare Solution
retryCountOnTaskFailure: 3
inputs:
projects: Xamarin.Android.sln
arguments: '-c $(XA.Build.Configuration) -t:Prepare --no-restore -p:AutoProvision=true -bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\dotnet-build-prepare.binlog'
arguments: '-c $(XA.Build.Configuration) -t:Prepare --no-restore -p:AutoProvision=true -p:RestoreDisableParallel=true -p:NuGetAudit=false -bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\dotnet-build-prepare.binlog'

# Build Xamarin.Android and configure local workloads to test improved local build loop
- template: /build-tools/automation/yaml-templates/run-dotnet-preview.yaml
parameters:
project: Xamarin.Android.sln
arguments: >-
-t:BuildDotNet -c $(XA.Build.Configuration) -v:n
-t:BuildDotNet -c $(XA.Build.Configuration) -v:n -p:RestoreDisableParallel=true -p:NuGetAudit=false
-bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\dotnet-build.binlog
displayName: Build Solution
continueOnError: false
retryCountOnTaskFailure: 3

- template: /build-tools/automation/yaml-templates/run-dotnet-preview.yaml
parameters:
project: build-tools/create-packs/Microsoft.Android.Sdk.proj
arguments: >-
-t:ConfigureLocalWorkload -c $(XA.Build.Configuration) -v:n -p:RunningOnCI=false
-t:ConfigureLocalWorkload -c $(XA.Build.Configuration) -v:n -p:RunningOnCI=false -p:RestoreDisableParallel=true -p:NuGetAudit=false
-bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\local-workload.binlog
displayName: Run ConfigureLocalWorkload target
continueOnError: false
Expand All @@ -64,6 +66,10 @@ steps:
testRunTitle: Smoke MSBuild Tests - Windows Dotnet Build
testAssembly: $(System.DefaultWorkingDirectory)\bin\Test$(XA.Build.Configuration)\$(DotNetStableTargetFramework)\Xamarin.Android.Build.Tests.dll
dotNetTestExtraArgs: --filter "TestCategory = SmokeTests"
nunitMSBuildArgs: |
-p:RestoreDisableParallel=true
-p:RestoreIgnoreFailedSources=true
-p:NuGetAudit=false

- template: /build-tools/automation/yaml-templates/run-dotnet-preview.yaml@self
parameters:
Expand Down Expand Up @@ -131,7 +137,7 @@ steps:
parameters:
project: Xamarin.Android.sln
arguments: >-
-t:PackDotNet -c $(XA.Build.Configuration) -v:n
-t:PackDotNet -c $(XA.Build.Configuration) -v:n -p:RestoreDisableParallel=true -p:NuGetAudit=false
-bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\dotnet-pack.binlog
displayName: Test PackDotNet

Expand Down
7 changes: 5 additions & 2 deletions build-tools/automation/yaml-templates/commercial-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,12 @@ steps:
condition: and(succeeded(), eq(variables['Codeql.Enabled'], 'true'), eq(variables['Build.SourceBranch'], 'refs/heads/main'))

# Prepare and Build everything
- script: make jenkins CONFIGURATION=$(XA.Build.Configuration) PREPARE_CI=1 PREPARE_AUTOPROVISION=1 MSBUILD_ARGS='${{ parameters.makeMSBuildArgs }}'
# Keep bounded MSBuild parallelism on macOS CI to avoid compiler-server overload and feed throttling.
- script: make jenkins CONFIGURATION=$(XA.Build.Configuration) PREPARE_CI=1 PREPARE_AUTOPROVISION=1 MSBUILD_ARGS='/m:4 /nr:false /p:RestoreDisableParallel=true /p:NuGetAudit=false ${{ parameters.makeMSBuildArgs }}'
workingDirectory: ${{ parameters.xaSourcePath }}
displayName: make jenkins
timeoutInMinutes: 90
retryCountOnTaskFailure: 3

- task: CodeQL3000Finalize@0
displayName: CodeQL 3000 Finalize
Expand All @@ -58,7 +61,7 @@ steps:
/t:AddMachOEntitlements /p:Configuration=$(XA.Build.Configuration)
/bl:${{ parameters.xaSourcePath }}/bin/Build$(XA.Build.Configuration)/sign-content.binlog

- script: make create-installers CONFIGURATION=$(XA.Build.Configuration) MSBUILD_ARGS='${{ parameters.makeMSBuildArgs }}'
- script: make create-installers CONFIGURATION=$(XA.Build.Configuration) MSBUILD_ARGS='/m:4 /nr:false /p:RestoreDisableParallel=true /p:NuGetAudit=false ${{ parameters.makeMSBuildArgs }}'
workingDirectory: ${{ parameters.xaSourcePath }}
displayName: make create-installers

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ steps:
git status --ignore-submodules

# Run this to error the build if modified/untracked files exist
$process= git status --porcelain --ignore-submodules
$process= git status --porcelain --ignore-submodules | Where-Object { $_ -notmatch '^\?\? \.sarif([/\\].*)?$' }

if ($process)
{
Expand Down
3 changes: 3 additions & 0 deletions build-tools/automation/yaml-templates/run-nunit-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ parameters:
testRunTitle: Xamarin Android Tests
testAssembly: ''
dotNetTestExtraArgs: ''
nunitMSBuildArgs: ''
workers: $(NUnit.NumberOfTestWorkers)
condition: succeeded()
timeoutInMinutes: 180
Expand All @@ -21,6 +22,8 @@ steps:
continueOnError: true
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
retryCountOnTaskFailure: ${{ parameters.retryCountOnTaskFailure }}
env:
NUNIT_MSBUILD_ARGS: ${{ parameters.nunitMSBuildArgs }}

- template: /build-tools/automation/yaml-templates/diagnose-hanging-processes.yaml

Expand Down
10 changes: 10 additions & 0 deletions build-tools/automation/yaml-templates/variables.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,13 @@ variables:
value: true
- name: DOTNET_GENERATE_ASPNET_CERTIFICATE
value: false
# Azure Artifacts can temporarily throttle dependency-flow feeds by IP concurrency.
# Give NuGet enough backoff to outlast short throttling windows during CI restore.
- name: NUGET_ENHANCED_MAX_NETWORK_TRY_COUNT
value: 12
- name: NUGET_ENHANCED_NETWORK_RETRY_DELAY_MILLISECONDS
value: 5000
- name: NUGET_MAX_RETRY_AFTER_DELAY_SECONDS
value: 60
- name: NuGetAudit
value: false
2 changes: 1 addition & 1 deletion build-tools/create-packs/ConfigureLocalWorkload.targets
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@
Overwrite="true"
/>
<Exec
Command="&quot;$(DotNetPreviewTool)&quot; workload install android-deps --configfile &quot;$(XamarinAndroidSourcePath)NuGet.config&quot; --skip-manifest-update --skip-sign-check --verbosity diag"
Command="&quot;$(DotNetPreviewTool)&quot; workload install android-deps --configfile &quot;$(XamarinAndroidSourcePath)NuGet.config&quot; --skip-manifest-update --skip-sign-check --verbosity diag --ignore-failed-sources"
EnvironmentVariables="DOTNETSDK_WORKLOAD_MANIFEST_ROOTS=$(BuildOutputDirectory)lib\sdk-manifests"
WorkingDirectory="$(XamarinAndroidSourcePath)"
/>
Expand Down
1 change: 1 addition & 0 deletions build-tools/create-packs/Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@
<_InstallArguments Include="--skip-manifest-update" />
<_InstallArguments Include="--skip-sign-check" />
<_InstallArguments Include="--verbosity diag" />
<_InstallArguments Include="--ignore-failed-sources" />
<_InstallArguments Include="--source &quot;%(_NuGetSources.Identity)&quot;" />
<_InstallArguments Include="--temp-dir &quot;$(_TempDirectory)&quot;" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,15 @@ protected override async Task<bool> Execute (Context context)
var logPathBase = Path.Combine (Configurables.Paths.BuildBinDir, $"msbuild-{context.BuildTimeStamp}-download-runtime-packs");

const int maxAttempts = 3;
const int initialBackoffDelayMilliseconds = 2000;
const int initialBackoffDelayMilliseconds = 15000;
bool restoreSucceeded = false;
for (int attempt = 1; attempt <= maxAttempts; attempt++) {
var logPath = $"{logPathBase}-attempt{attempt}.binlog";
var runner = new ProcessRunner (Configurables.Paths.DotNetPreviewTool, "restore",
packageDownloadProj,
"--configfile", Path.Combine (BuildPaths.XamarinAndroidSourceRoot, "NuGet.config"),
"--disable-parallel",
"-p:NuGetAudit=false",
$"-bl:{logPath}",
"--verbosity", "normal"
) {
Expand Down
24 changes: 12 additions & 12 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
<Dependencies>
<ProductDependencies>
<Dependency Name="Microsoft.NET.Sdk" Version="11.0.100-preview.5.26268.112">
<Dependency Name="Microsoft.NET.Sdk" Version="11.0.100-preview.6.26281.102">
<Uri>https://github.com/dotnet/dotnet</Uri>
<Sha>c5d1f734662eb718e7431a4e679a29e47c380f04</Sha>
<Sha>e6542746cf944ff2a1a595edf2af006ef3046784</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.ILLink" Version="11.0.0-preview.5.26268.112">
<Dependency Name="Microsoft.NET.ILLink" Version="11.0.0-preview.6.26281.102">
<Uri>https://github.com/dotnet/dotnet</Uri>
<Sha>c5d1f734662eb718e7431a4e679a29e47c380f04</Sha>
<Sha>e6542746cf944ff2a1a595edf2af006ef3046784</Sha>
</Dependency>
<Dependency Name="Microsoft.NETCore.App.Ref" Version="11.0.0-preview.5.26268.112">
<Dependency Name="Microsoft.NETCore.App.Ref" Version="11.0.0-preview.6.26281.102">
<Uri>https://github.com/dotnet/dotnet</Uri>
<Sha>c5d1f734662eb718e7431a4e679a29e47c380f04</Sha>
<Sha>e6542746cf944ff2a1a595edf2af006ef3046784</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Cecil" Version="0.11.5-preview.26268.112">
<Dependency Name="Microsoft.DotNet.Cecil" Version="0.11.5-preview.26281.102">
<Uri>https://github.com/dotnet/dotnet</Uri>
<Sha>c5d1f734662eb718e7431a4e679a29e47c380f04</Sha>
<Sha>e6542746cf944ff2a1a595edf2af006ef3046784</Sha>
</Dependency>
<Dependency Name="Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest-11.0.100-preview.4" Version="11.0.100-preview.4.26215.121">
<Uri>https://github.com/dotnet/dotnet</Uri>
Expand All @@ -36,13 +36,13 @@
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="11.0.0-beta.26268.112">
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="11.0.0-beta.26281.102">
<Uri>https://github.com/dotnet/dotnet</Uri>
<Sha>c5d1f734662eb718e7431a4e679a29e47c380f04</Sha>
<Sha>e6542746cf944ff2a1a595edf2af006ef3046784</Sha>
</Dependency>
<Dependency Name="Microsoft.TemplateEngine.Authoring.Tasks" Version="11.0.100-preview.5.26268.112">
<Dependency Name="Microsoft.TemplateEngine.Authoring.Tasks" Version="11.0.100-preview.6.26281.102">
<Uri>https://github.com/dotnet/dotnet</Uri>
<Sha>c5d1f734662eb718e7431a4e679a29e47c380f04</Sha>
<Sha>e6542746cf944ff2a1a595edf2af006ef3046784</Sha>
</Dependency>
<Dependency Name="MSTest" Version="4.3.0-preview.26281.6">
<Uri>https://github.com/microsoft/testfx</Uri>
Expand Down
12 changes: 6 additions & 6 deletions eng/Versions.props
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
<Project>
<!--Package versions-->
<PropertyGroup>
<MicrosoftNETSdkPackageVersion>11.0.100-preview.5.26268.112</MicrosoftNETSdkPackageVersion>
<MicrosoftNETSdkPackageVersion>11.0.100-preview.6.26281.102</MicrosoftNETSdkPackageVersion>
<MicrosoftDotnetSdkInternalPackageVersion>$(MicrosoftNETSdkPackageVersion)</MicrosoftDotnetSdkInternalPackageVersion>
<MicrosoftNETILLinkPackageVersion>11.0.0-preview.5.26268.112</MicrosoftNETILLinkPackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>11.0.0-preview.5.26268.112</MicrosoftNETCoreAppRefPackageVersion>
<MicrosoftNETILLinkPackageVersion>11.0.0-preview.6.26281.102</MicrosoftNETILLinkPackageVersion>
<MicrosoftNETCoreAppRefPackageVersion>11.0.0-preview.6.26281.102</MicrosoftNETCoreAppRefPackageVersion>
<MicrosoftDotNetApiCompatPackageVersion>7.0.0-beta.22103.1</MicrosoftDotNetApiCompatPackageVersion>
<!-- Last version built for net10.0, needed for CI steps that only have the .NET 10 SDK installed (e.g., BAR manifest publishing) -->
<MicrosoftDotNetBuildTasksFeedPackageVersionNet10>11.0.0-beta.26060.102</MicrosoftDotNetBuildTasksFeedPackageVersionNet10>
<MicrosoftDotNetBuildTasksFeedPackageVersion>11.0.0-beta.26268.112</MicrosoftDotNetBuildTasksFeedPackageVersion>
<MicrosoftDotNetBuildTasksFeedPackageVersion>11.0.0-beta.26281.102</MicrosoftDotNetBuildTasksFeedPackageVersion>
<MicrosoftNETWorkloadMonoToolchainCurrentManifest110100preview4PackageVersion>11.0.100-preview.4.26215.121</MicrosoftNETWorkloadMonoToolchainCurrentManifest110100preview4PackageVersion>
<MicrosoftNETWorkloadEmscriptenCurrentManifest110100preview4PackageVersion>11.0.100-preview.4.26215.121</MicrosoftNETWorkloadEmscriptenCurrentManifest110100preview4PackageVersion>
<MicrosoftNETWorkloadMonoToolChainPackageVersion>$(MicrosoftNETWorkloadMonoToolChainCurrentManifest110100preview4PackageVersion)</MicrosoftNETWorkloadMonoToolChainPackageVersion>
<MicrosoftNETWorkloadEmscriptenPackageVersion>$(MicrosoftNETWorkloadEmscriptenCurrentManifest110100preview4PackageVersion)</MicrosoftNETWorkloadEmscriptenPackageVersion>
<MicrosoftTemplateEngineAuthoringTasksPackageVersion>11.0.100-preview.5.26268.112</MicrosoftTemplateEngineAuthoringTasksPackageVersion>
<MicrosoftDotNetCecilPackageVersion>0.11.5-preview.26268.112</MicrosoftDotNetCecilPackageVersion>
<MicrosoftTemplateEngineAuthoringTasksPackageVersion>11.0.100-preview.6.26281.102</MicrosoftTemplateEngineAuthoringTasksPackageVersion>
<MicrosoftDotNetCecilPackageVersion>0.11.5-preview.26281.102</MicrosoftDotNetCecilPackageVersion>
<MSTestPackageVersion>4.3.0-preview.26281.6</MSTestPackageVersion>
<SystemIOHashingPackageVersion>10.0.7</SystemIOHashingPackageVersion>
<SystemReflectionMetadataPackageVersion>11.0.0-preview.1.26104.118</SystemReflectionMetadataPackageVersion>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,43 +5,34 @@
"Size": 3036
},
"classes.dex": {
"Size": 400044
"Size": 405624
},
"lib/arm64-v8a/libassembly-store.so": {
"Size": 3098192
"Size": 3123768
},
"lib/arm64-v8a/libclrjit.so": {
"Size": 3223752
"Size": 2783168
},
"lib/arm64-v8a/libcoreclr.so": {
"Size": 5771784
"Size": 4873392
},
"lib/arm64-v8a/libmonodroid.so": {
"Size": 1366648
},
"lib/arm64-v8a/libSystem.Globalization.Native.so": {
"Size": 72344
"Size": 72032
},
"lib/arm64-v8a/libSystem.IO.Compression.Native.so": {
"Size": 1280336
"Size": 1262816
},
"lib/arm64-v8a/libSystem.Native.so": {
"Size": 100552
"Size": 100904
},
"lib/arm64-v8a/libSystem.Security.Cryptography.Native.Android.so": {
"Size": 162000
"Size": 160632
},
"lib/arm64-v8a/libxamarin-app.so": {
"Size": 20424
},
"META-INF/BNDLTOOL.RSA": {
"Size": 1223
},
"META-INF/BNDLTOOL.SF": {
"Size": 2091
},
"META-INF/MANIFEST.MF": {
"Size": 1964
"Size": 20744
},
"res/drawable-hdpi-v4/icon.png": {
"Size": 2178
Expand All @@ -68,5 +59,5 @@
"Size": 1904
}
},
"PackageSize": 7632514
}
"PackageSize": 7214523
}
Loading