Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

Commit

Permalink
[ci] Enable 1espt (#15871)
Browse files Browse the repository at this point in the history
* [ci]Initial draft espt

* Set build configuration

* Cleanup

* Fix

* Update build-nuget.yml

* Update global.json

* Add gdnsuppress

* Add supression

* Update build-windows.yml

* Update source.gdnsuppress

* Update xf-release.yml

* Revert "Update build-windows.yml"

This reverts commit ff20ad5.

* Update xf-release.yml

* Revert "Update global.json"

This reverts commit 36fbb8c.

* Update xf-release.yml

* Update build-windows.yml

* Try pass binaries a better way

* try again

* Update build-nuget.yml

* Update build-nuget.yml

* Update xf-release.yml

* Update xf-release.yml

* Update build-nuget.yml

* We are not usign matrix anymore

* Update build-nuget.yml

* Fix the path to publish

* Update xf-release.yml

---------

Co-authored-by: Gerald Versluis <gerald.versluis@microsoft.com>
  • Loading branch information
rmarinho and jfversluis committed Mar 5, 2024
1 parent 7dc1fb7 commit 9e2af8f
Show file tree
Hide file tree
Showing 6 changed files with 564 additions and 135 deletions.
35 changes: 35 additions & 0 deletions build/automation/guardian/source.gdnsuppress
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"hydrated": false,
"properties": {
"helpUri": "https://eng.ms/docs/microsoft-security/security/azure-security/cloudai-security-fundamentals-engineering/security-integration/guardian-wiki/microsoft-guardian/general/suppressions",
"hydrationStatus": "This file does not contain identifying data. It is safe to check into your repo. To hydrate this file with identifying data, run `guardian hydrate --help` and follow the guidance."
},
"version": "1.0.0",
"suppressionSets": {
"default": {
"name": "default",
"createdDate": "2024-03-01 14:41:58Z",
"lastUpdatedDate": "2024-03-01 14:41:58Z"
}
},
"results": {
"269549c010eaec1246c156e063e64c56200363edbeb4fc9f0640b01793a130d6": {
"signature": "269549c010eaec1246c156e063e64c56200363edbeb4fc9f0640b01793a130d6",
"alternativeSignatures": [],
"target": "debug.keystore",
"memberOf": [
"default"
],
"createdDate": "2024-03-01 14:41:58Z"
},
"2c3e6f9b445213109abaa36b16af43d146fe88b4fb5f637b388c6fde1f7957e8": {
"signature": "2c3e6f9b445213109abaa36b16af43d146fe88b4fb5f637b388c6fde1f7957e8",
"alternativeSignatures": [],
"target": "Xamarin.Forms.ControlGallery.WindowsUniversal/Xamarin.Forms.ControlGallery.WindowsUniversal_TemporaryKey.pfx",
"memberOf": [
"default"
],
"createdDate": "2024-03-01 14:41:58Z"
}
}
}
11 changes: 11 additions & 0 deletions build/automation/guardian/tsaoptions-v2.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"codebaseName": "xamarin.xamarinforms_5.0.0",
"notificationAliases": [
"dotnet-maui-eng@microsoft.com"
],
"instanceUrl": "https://devdiv.visualstudio.com/",
"projectName": "DevDiv",
"areaPath": "DevDiv\\VS Client - Runtime SDKs\\Xamarin Forms",
"iterationPath": "DevDiv",
"allTools": true
}
72 changes: 20 additions & 52 deletions build/steps/build-nuget.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,34 @@
parameters:
nugetForDebug: 'true'
nugetForRelease: 'true'
publishArtifacts: 'true'
binariesArtifact: 'win_build'
artifact: 'nuget'
artifactsTargetFolder: '$(build.artifactstagingdirectory)/nuget'


steps:
- checkout: self
clean: true

- task: DownloadBuildArtifacts@0
displayName: 'Download build artifact win_build'
- task: DownloadBuildArtifacts@1
displayName: 'Download build artifact ${{ parameters.binariesArtifact }}'
inputs:
artifactName: 'win_build'
downloadPath: '$(Build.ArtifactsDirectory)'
artifactName: ${{ parameters.binariesArtifact }}
downloadPath: '$(Build.ArtifactsDirectory)/${{ parameters.binariesArtifact }}'


- task: CopyFiles@2
displayName: 'Copy Files to: $(System.DefaultWorkingDirectory)'
inputs:
SourceFolder: '$(Build.ArtifactsDirectory)/win_build'
SourceFolder: '$(Build.ArtifactsDirectory)/${{ parameters.binariesArtifact }}'
TargetFolder: '$(System.DefaultWorkingDirectory)'

- task: CopyFiles@2
displayName: 'Copy SignList.xml Files'
inputs:
Contents: build/SignList.xml
TargetFolder: '$(build.artifactstagingdirectory)/nuget'
TargetFolder: ${{ parameters.artifactsTargetFolder}}
flattenFolders: true

- task: PowerShell@1
Expand All @@ -40,62 +45,25 @@ steps:

- task: NuGetCommand@2
displayName: 'Make NuGet Package'
condition: eq(${{ parameters.nugetForDebug }}, 'true')
inputs:
command: pack
feedsToUse: config
packagesToPack: '.nuspec/*.nuspec'
packDestination: '$(Build.ArtifactStagingDirectory)/nuget/debug'
packDestination: '${{ parameters.artifactsTargetFolder}}/$(BuildConfiguration)'
versioningScheme: byEnvVar
versionEnvVar: nugetPackageVersion
configuration: Debug
configuration: $(BuildConfiguration)

- task: CopyFiles@2
displayName: 'Copy SignList.xml Files'
condition: eq(${{ parameters.nugetForDebug }}, 'true')
inputs:
Contents: build/SignList.xml
TargetFolder: '$(build.artifactstagingdirectory)/nuget/debug'
TargetFolder: '${{ parameters.artifactsTargetFolder}}/$(BuildConfiguration)'
flattenFolders: true


# - powershell: |
# $buildConfiguration = "Release"
# $formsNugetVersion = "" + $env:nugetPackageVersion

# Write-Host("Update nuspecs")
# Get-ChildItem './.nuspec/*.nuspec' -Recurse | Foreach-Object {
# (Get-Content $_) | Foreach-Object {
# $_ -replace '\$version\$', $formsNugetVersion `
# -replace '\$Configuration\$', $buildConfiguration `
# } | Set-Content $_
# }
# failOnStderr: true
# displayName: 'Update nuspecs'
# condition: and(succeeded(), or(eq(${{ parameters.nugetForRelease }}, 'true') , or(eq(variables['Sign'], 'true'), or(eq(variables['DefaultBuildConfiguration'], 'Release'), eq(variables['Build.SourceBranch'], 'refs/heads/main'), startsWith(variables['Build.SourceBranch'],'refs/tags/')))))

- task: NuGetCommand@2
displayName: 'Make NuGet Package Release'
inputs:
command: pack
feedsToUse: config
packagesToPack: '.nuspec/*.nuspec'
packDestination: '$(Build.ArtifactStagingDirectory)/nuget/release'
versioningScheme: byEnvVar
versionEnvVar: nugetPackageVersion
configuration: Release
condition: and(succeeded(), or(eq(${{ parameters.nugetForRelease }}, 'true') , or(eq(variables['Sign'], 'true'), or(eq(variables['DefaultBuildConfiguration'], 'Release'), eq(variables['Build.SourceBranch'], 'refs/heads/main'), startsWith(variables['Build.SourceBranch'],'refs/tags/')))))

- task: CopyFiles@2
displayName: 'Copy SignList.xml Files'
condition: eq(${{ parameters.nugetForRelease }}, 'true')
inputs:
Contents: build/SignList.xml
TargetFolder: '$(build.artifactstagingdirectory)/nuget/release'
flattenFolders: true

- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: nuget'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)/nuget'
ArtifactName: nuget
- ${{ if eq(parameters.publishArtifacts, 'true') }}:
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: nuget'
inputs:
PathtoPublish: '${{ parameters.artifactsTargetFolder }}/$(BuildConfiguration)'
ArtifactName: ${{ parameters.artifact }}
23 changes: 13 additions & 10 deletions build/steps/build-windows.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
parameters:
msbuildExtraArguments : ''
artifactsTargetFolder: '$(build.artifactstagingdirectory)'
artifactsName: 'win_build'
nunitTestFolder: '$(build.sourcesdirectory)'
includeUwp: 'true'
includeAndroid: 'true'
includeNonUwpAndNonAndroid: 'true'
runTests: 'true'
artifact: 'nuget'
artifactBinaries: 'win_build'
artifactDocs: 'pack-docs'
publishArtifacts: true

steps:
- checkout: self
Expand Down Expand Up @@ -59,7 +62,7 @@ steps:
Xamarin.Forms.ControlGallery.WindowsUniversal/AppPackages/*/Add-AppDevPackage.resources/**
Xamarin.Forms.ControlGallery.WindowsUniversal/AppPackages/*/TelemetryDependencies/**
Xamarin.Forms.ControlGallery.WindowsUniversal/AppPackages/*/Dependencies/x86/**
TargetFolder: '$(build.artifactstagingdirectory)'
TargetFolder: ${{ parameters.artifactsTargetFolder }}

- script: build.cmd -Target BuildForNuget -ScriptArgs '--BUILD_CONFIGURATION="$(BuildConfiguration)"','--Build_ArtifactStagingDirectory="$(Build.ArtifactStagingDirectory)"','--MSBUILD="$(msbuild)"'
name: winbuild
Expand Down Expand Up @@ -171,7 +174,6 @@ steps:
Xamarin.Forms.DualScreen.UnitTests/bin/$(BuildConfiguration)/**/*.dll
TargetFolder: ${{ parameters.artifactsTargetFolder }}


- task: CopyFiles@2
displayName: 'Copy Android Files dlls'
Expand Down Expand Up @@ -212,20 +214,21 @@ steps:
condition: eq(variables['BuildConfiguration'], 'Release')
inputs:
SourceFolder: Xamarin.Forms.Core.Windows.UITests/bin/Debug/
TargetFolder: '$(build.artifactstagingdirectory)/UITests'
TargetFolder: '${{ parameters.artifactsTargetFolder }}/UITests'

- task: CopyFiles@2
displayName: 'Copy Certificate File'
condition: eq(variables['BuildConfiguration'], 'Debug')
inputs:
Contents: |
Xamarin.Forms.ControlGallery.WindowsUniversal\Xamarin.Forms.ControlGallery.WindowsUniversal_TemporaryKey.pfx
TargetFolder: '$(build.artifactstagingdirectory)'
TargetFolder: ${{ parameters.artifactsTargetFolder }}
CleanTargetFolder: false
flattenFolders: false

- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: ${{ parameters.artifactsName }}'
condition: always()
inputs:
ArtifactName: ${{ parameters.artifactsName }}
- ${{ if eq(parameters.publishArtifacts, 'true') }}:
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: ${{ parameters.artifactBinaries }}'
condition: always()
inputs:
ArtifactName: ${{ parameters.artifactBinaries }}
Loading

0 comments on commit 9e2af8f

Please sign in to comment.