Skip to content

Commit

Permalink
[ci] Use long version for maestro publishing (#8964)
Browse files Browse the repository at this point in the history
Commit bbac9fe ran into some issues when attempting to publish to maestro:

    error : Asset 'D:\a\_work\1\a\7dc04dfe-406a-4fa3-aea0-199acc2763fa\MergedManifest.xml' already exists with different contents at assets/manifests/xamarin-xamarin-android/34.99.0-dev/MergedManifest.xml

We should be able to fix this by using the long package version which
optionally includes pre-release labeling and commit distance info.
  • Loading branch information
pjcollins committed May 20, 2024
1 parent 14b70ac commit f834b55
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 19 deletions.
33 changes: 17 additions & 16 deletions build-tools/automation/azure-pipelines.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -537,17 +537,10 @@ extends:
variables:
- ${{ if eq(variables['MicroBuildSignType'], 'Real') }}:
- group: Publish-Build-Assets
templateContext:
outputs:
- output: nuget
condition: and(succeeded(), eq('${{ parameters.pushXAPackagesToMaestro }}', 'true'))
useDotNetTask: false # The default is false to use the NuGetCommand task. Set to true to use the DotNetCoreCLI task to publish packages.
packagesToPush: $(Build.StagingDirectory)\nuget-signed\*.nupkg
packageParentPath: $(Build.StagingDirectory)\nuget-signed
nuGetFeedType: external
publishFeedCredentials: $(DotNetFeedCredential)
steps:
- checkout: self
clean: true
submodules: recursive

- task: DownloadPipelineArtifact@2
inputs:
Expand Down Expand Up @@ -606,14 +599,22 @@ extends:
artifactName: vsdrop-multitarget-signed
downloadPath: $(Build.StagingDirectory)\$(MultiTargetVSDropCommitStatusName)

- powershell: >-
& dotnet build -v:n -c $(XA.Build.Configuration)
-t:PushManifestToBuildAssetRegistry
-p:BuildAssetRegistryToken=$(MaestroAccessToken)
-p:OutputPath=$(Build.StagingDirectory)\nuget-signed\
$(System.DefaultWorkingDirectory)\build-tools\create-packs\Microsoft.Android.Sdk.proj
-bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\push-bar-manifest.binlog
- task: DotNetCoreCLI@2
displayName: build Xamarin.Android.Tools.BootstrapTasks.sln
inputs:
projects: $(System.DefaultWorkingDirectory)\Xamarin.Android.BootstrapTasks.sln
arguments: -c $(XA.Build.Configuration) -bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\bootstrap.binlog
condition: and(succeeded(), eq('${{ parameters.pushXAPackagesToMaestro }}', 'true'))

- task: DotNetCoreCLI@2
displayName: generate and publish BAR manifest
inputs:
projects: $(System.DefaultWorkingDirectory)\build-tools\create-packs\Microsoft.Android.Sdk.proj
arguments: >-
-t:PushManifestToBuildAssetRegistry
-p:BuildAssetRegistryToken=$(MaestroAccessToken)
-p:OutputPath=$(Build.StagingDirectory)\nuget-signed\
-c $(XA.Build.Configuration) -bl:$(System.DefaultWorkingDirectory)\bin\Build$(XA.Build.Configuration)\push-bar-manifest.binlog
condition: and(succeeded(), eq('${{ parameters.pushXAPackagesToMaestro }}', 'true'))

- powershell: |
Expand Down
7 changes: 4 additions & 3 deletions build-tools/create-packs/Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,8 @@
</Target>

<!-- https://github.com/dotnet/arcade/blob/efc3da96e5ac110513e92ebd9ef87c73f44d8540/Documentation/DependencyFlowOnboardingWithoutArcade.md -->
<Target Name="PushManifestToBuildAssetRegistry" >
<Target Name="PushManifestToBuildAssetRegistry"
DependsOnTargets="GetXAVersionInfo" >
<PropertyGroup>
<ArtifactsLogDir>$(OutputPath)</ArtifactsLogDir>
<AssetManifestFileName>Assets.xml</AssetManifestFileName>
Expand Down Expand Up @@ -204,12 +205,12 @@
<MSBuild
Targets="Restore"
Projects="$(PkgMicrosoft_DotNet_Arcade_Sdk)\tools\SdkTasks\PublishBuildAssets.proj"
Properties="Configuration=$(Configuration);RepoRoot=$(XamarinAndroidSourcePath);VersionPrefix=$(AndroidPackVersion)"
Properties="Configuration=$(Configuration);RepoRoot=$(XamarinAndroidSourcePath);VersionPrefix=$(AndroidPackVersionLong)"
/>

<MSBuild
Projects="$(PkgMicrosoft_DotNet_Arcade_Sdk)\tools\SdkTasks\PublishBuildAssets.proj"
Properties="Configuration=$(Configuration);RepoRoot=$(XamarinAndroidSourcePath);VersionPrefix=$(AndroidPackVersion);ManifestsPath=$(ArtifactsLogDir)AssetManifest;MaestroApiEndpoint=https://maestro.dot.net"
Properties="Configuration=$(Configuration);RepoRoot=$(XamarinAndroidSourcePath);VersionPrefix=$(AndroidPackVersionLong);ManifestsPath=$(ArtifactsLogDir)AssetManifest;MaestroApiEndpoint=https://maestro.dot.net"
/>
</Target>

Expand Down

0 comments on commit f834b55

Please sign in to comment.