Skip to content

Commit

Permalink
Merge pull request #1445 from microsoft/main
Browse files Browse the repository at this point in the history
Merge 'main' into 'release-cpptools'
  • Loading branch information
WardenGnaw authored Mar 2, 2024
2 parents ec430af + f6d7aae commit 8cf60fb
Show file tree
Hide file tree
Showing 20 changed files with 233 additions and 74 deletions.
41 changes: 35 additions & 6 deletions eng/pipelines/VS-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,40 @@
name: $(Date:yyyMMdd).$(Rev:r)
variables:
- group: TSDTUSR
jobs:
- template: ./jobs/VSEngSS-MicroBuild2022-1ES.job.yml
parameters:
DisplayName: 'VS_Release'
JobTemplate:
- template: ../templates/VS-release.template.yml

resources:
repositories:
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release

extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
pool:
name: VSEngSS-MicroBuild2022-1ES
os: windows
sdl:
sourceAnalysisPool:
name: VSEngSS-MicroBuild2022-1ES
os: windows
stages:
- stage: stage
displayName: VS_Release
jobs:
- job: Phase_1
displayName: VS_Release
timeoutInMinutes: 180
cancelTimeoutInMinutes: 1
templateContext:
mb:
signing:
enabled: true
signType: real
zipSources: false
localization:
enabled: true
steps:
- template: /eng/pipelines/templates/VS-release.template.yml@self
...
76 changes: 51 additions & 25 deletions eng/pipelines/VSCode-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,57 @@
name: $(Date:yyyMMdd).$(Rev:r)
variables:
- group: TSDTUSR
stages:
- stage: Windows
dependsOn: []
jobs:
- template: ./jobs/VSEngSS-MicroBuild2022-1ES.job.yml
parameters:
DisplayName: 'VSCode_Release'
JobTemplate:
- template: ../templates/VSCode-release.template.yml

- stage: OSX_CodeSign
dependsOn: [Windows]
jobs:
- template: ./jobs/MSHosted-OSX.job.yml
parameters:
DisplayName: 'OSX Sign/Harden'
JobTemplate:
- template: ../templates/VSCode-codesign-osx.template.yml
resources:
repositories:
- repository: MicroBuildTemplate
type: git
name: 1ESPipelineTemplates/MicroBuildTemplate
ref: refs/tags/release

- stage: OSX_ESRPSign
dependsOn: [OSX_CodeSign]
jobs:
- template: ./jobs/VSEngSS-MicroBuild2022-1ES.job.yml
parameters:
DisplayName: 'OSX Sign/Harden'
JobTemplate:
- template: ../templates/VSCode-esrp-sign-osx.template.yml
extends:
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
parameters:
pool:
name: VSEngSS-MicroBuild2022-1ES
os: windows
sdl:
sourceAnalysisPool:
name: VSEngSS-MicroBuild2022-1ES
os: windows
stages:
- stage: Windows
jobs:
- job:
displayName: Windows
timeoutInMinutes: 180
cancelTimeoutInMinutes: 1
templateContext:
mb:
signing:
enabled: true
signType: real
zipSources: false
localization:
enabled: true
steps:
- template: /eng/pipelines/templates/VSCode-release.template.yml@self

- stage: OSX_CodeSign
dependsOn: [Windows]
jobs:
- template: /eng/pipelines/jobs/MSHosted-OSX.job.yml@self
parameters:
DisplayName: 'OSX Sign/Harden'
JobTemplate:
- template: ../templates/VSCode-codesign-osx.template.yml

- stage: OSX_ESRPSign
dependsOn: [OSX_CodeSign]
jobs:
- template: /eng/pipelines/jobs/VSEngSS-MicroBuild2022-1ES.job.yml@self
parameters:
DisplayName: 'OSX Sign/Harden'
JobTemplate:
- template: ../templates/VSCode-esrp-sign-osx.template.yml
...
2 changes: 2 additions & 0 deletions eng/pipelines/jobs/MSHosted-OSX.job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@ jobs:
- job:
displayName: ${{ parameters.DisplayName }}
pool:
name: Azure Pipelines
vmImage: 'macOS-latest'
os: macOS
steps:
- ${{ parameters.JobTemplate }}
...
13 changes: 9 additions & 4 deletions eng/pipelines/steps/BuildSolution.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ parameters:
Solution: '$(Build.SourcesDirectory)\src\MIDebugEngine.sln'
Configuration: 'Release'
BuildArguments: ''
OneESPT: false

steps:
- template: ../tasks/NuGetCommand.yml
Expand Down Expand Up @@ -31,15 +32,19 @@ steps:
"SIGN_TYPE": "$(SignType)"
}

- template: ../tasks/PublishPipelineArtifact.yml
- template: ../tasks/1ES/PublishPipelineArtifact.yml
parameters:
displayName: 'Publish binlogs'
targetPath: '$(Build.BinariesDirectory)/build_logs/'
artifactName: '${{ parameters.Configuration }}_binlog'
path: '$(Build.BinariesDirectory)/build_logs/'
condition: ne(variables['System.Debug'], '')
OneESPT: ${{ parameters.OneESPT }}

- template: ../tasks/PublishPipelineArtifact.yml
- template: ../tasks/1ES/PublishPipelineArtifact.yml
parameters:
displayName: 'Publish debug binaries'
targetPath: '$(Build.SourcesDirectory)\bin\${{ parameters.Configuration }}'
artifactName: '${{ parameters.Configuration }}_debug_bin'
path: '$(Build.SourcesDirectory)\bin\${{ parameters.Configuration }}'
condition: ne(variables['System.Debug'], '')
OneESPT: ${{ parameters.OneESPT }}
...
6 changes: 4 additions & 2 deletions eng/pipelines/steps/CollectAndPublishBinaries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
parameters:
TargetFolder: '$(Build.SourcesDirectory)\drop'
ArtifactName: 'drop'
OneESPT: false

steps:
- template: ../tasks/CopyFiles.yml
Expand All @@ -13,9 +14,10 @@ steps:
CleanTargetFolder: true
OverWrite: true

- template: ../tasks/PublishPipelineArtifact.yml
- template: ../tasks/1ES/PublishPipelineArtifact.yml
parameters:
displayName: 'Publish Binaries'
path: ${{ parameters.TargetFolder }}
targetPath: ${{ parameters.TargetFolder }}
artifactName: '${{ parameters.ArtifactName }}'
OneESPT: ${{ parameters.OneESPT }}
...
8 changes: 6 additions & 2 deletions eng/pipelines/steps/CopyAndPublishSymbols.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Collects build symbols and publishes them as 'Symbols'
---
parameters:
OneESPT: false

steps:
- template: ../tasks/CopyFiles.yml
parameters:
Expand Down Expand Up @@ -27,9 +30,10 @@ steps:
SearchPattern: '**\*.pdb'
SymbolServerType: TeamServices

- template: ../tasks/PublishPipelineArtifact.yml
- template: ../tasks/1ES/PublishPipelineArtifact.yml
parameters:
displayName: 'Publish Symbols'
path: '$(Build.ArtifactStagingDirectory)/symbols'
targetPath: '$(Build.ArtifactStagingDirectory)/symbols'
artifactName: 'Symbols'
OneESPT: ${{ parameters.OneESPT }}
...
20 changes: 11 additions & 9 deletions eng/pipelines/steps/PackAndPublishVSPackages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,12 @@ steps:
echo ##vso[task.setvariable variable=NugetPackageVersion;]%NugetPackageVersion%
displayName: 'Get NuGet Version'

- template: ../tasks/PublishPipelineArtifact.yml
- template: ../tasks/1ES/PublishPipelineArtifact.yml
parameters:
displayName: 'Publish File Version'
path: '$(Build.SourcesDirectory)\obj\Lab.Release\NugetPackageVersion.txt'
targetPath: '$(Build.SourcesDirectory)\obj\Lab.Release\NugetPackageVersion.txt'
artifactName: 'PackageVersion'
OneESPT: true

- template: ../tasks/NuGetCommand.yml
parameters:
Expand All @@ -27,11 +28,12 @@ steps:
buildProperties: 'version=$(NugetPackageVersion)'
basePath: ${{ parameters.BasePath }}

- template: ../tasks/NuGetCommand.yml
parameters:
displayName: 'NuGet push'
command: push
searchPatternPush: '$(Build.SourcesDirectory)\VS.Redist.Debugger.MDD.MIEngine.*.nupkg;$(Build.SourcesDirectory)\VS.Redist.Debugger.MDD.UnixPortSupplier.*.nupkg'
feedPublish: '97a41293-2972-4f48-8c0e-05493ae82010' # VS
condition: and(succeeded(), eq(variables['SignType'], 'real'))
- task: 1ES.PublishNuget@1
displayName: Publish Nuget package
condition: and(succeeded(), eq(variables['SignType'], 'real'))
inputs:
packagesToPush: '$(Build.SourcesDirectory)\VS.Redist.Debugger.MDD.MIEngine.*.nupkg;$(Build.SourcesDirectory)\VS.Redist.Debugger.MDD.UnixPortSupplier.*.nupkg'
packageParentPath: '$(Build.SourcesDirectory)'
publishVstsFeed: '97a41293-2972-4f48-8c0e-05493ae82010' # VS
nuGetFeedType: internal
...
12 changes: 7 additions & 5 deletions eng/pipelines/steps/PublishOpenDebugAD7.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,20 +39,22 @@ steps:
copy ${{ parameters.SignedBinariesFolder }}\Release\osxlaunchhelper.scpt $(Build.StagingDirectory)\${{ parameters.RuntimeID }}\debugAdapters\bin\.
displayName: "Copy osxlaunchhelper.scpt"

- template: ../tasks/PublishPipelineArtifact.yml
- template: ../tasks/1ES/PublishPipelineArtifact.yml
parameters:
displayName: 'Publish Unsigned ${{ parameters.RuntimeID }}'
path: '$(Build.StagingDirectory)\${{ parameters.RuntimeID }}'
artifactName: 'unsigned_${{ parameters.RuntimeID }}_binaries'
targetPath: '$(Build.StagingDirectory)\${{ parameters.RuntimeID }}'
artifactName: 'unsigned_${{ parameters.RuntimeID }}_binaries'
OneESPT: true

# Publishing for non-macOS
- ${{ if not(startsWith(parameters.RuntimeID, 'osx-')) }}:
- powershell: |
Compress-Archive -Path $(Build.StagingDirectory)\${{ parameters.RuntimeID }}\debugAdapters -DestinationPath $(Build.StagingDirectory)\zips\${{ parameters.RuntimeID }}.zip
displayName: "Create ${{ parameters.RuntimeID}}.zip"
- template: ../tasks/PublishPipelineArtifact.yml
- template: ../tasks/1ES/PublishPipelineArtifact.yml
parameters:
displayName: 'Publish ${{ parameters.RuntimeID }}'
path: '$(Build.StagingDirectory)\zips\${{ parameters.RuntimeID }}.zip'
targetPath: '$(Build.StagingDirectory)\zips\${{ parameters.RuntimeID }}.zip'
artifactName: '${{ parameters.RuntimeID }}_zip'
OneESPT: true
24 changes: 24 additions & 0 deletions eng/pipelines/tasks/1ES/PublishPipelineArtifact.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
parameters:
displayName: 'Publish Pipeline Artifact'
targetPath: '$(Build.ArtifactStagingDirectory)'
artifactName: 'drop'
condition: 'succeeded()'
OneESPT: false # Indicates that this is running under the 1ES Pipeline Template

steps:
- ${{ if eq(parameters['OneESPT'], true) }}:
- task: 1ES.PublishPipelineArtifact@1
displayName: ${{ parameters.displayName }}
inputs:
targetPath: ${{ parameters.targetPath }}
artifactName: '${{ parameters.artifactName }}'
condition: ${{ parameters.condition }}
- ${{ else }}:
- template: ../PublishPipelineArtifact.yml
parameters:
path: '${{ parameters.targetPath }}'
artifactName: '${{ parameters.artifactName }}'
displayName: ${{ parameters.displayName }}
condition: ${{ parameters.condition }}
...
2 changes: 1 addition & 1 deletion eng/pipelines/tasks/MicroBuildLocalizationPlugin.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
steps:
- task: ms-vseng.MicroBuildTasks.a0262b21-fb8f-46f8-bb9a-60ed560d4a87.MicroBuildLocalizationPlugin@3
- task: ms-vseng.MicroBuildTasks.a0262b21-fb8f-46f8-bb9a-60ed560d4a87.MicroBuildLocalizationPlugin@4
displayName: 'Install Localization Plugin'
...
2 changes: 2 additions & 0 deletions eng/pipelines/templates/Build.template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ steps:
- template: ../steps/BuildSolution.yml
parameters:
Configuration: ${{ parameters.Configuration }}
OneESPT: false

- template: ../tasks/CSharp.yml

Expand All @@ -26,6 +27,7 @@ steps:
parameters:
TargetFolder: '$(Build.StagingDirectory)\drop'
ArtifactName: '${{ parameters.Configuration }}'
OneESPT: false

- template: ../tasks/MicroBuildCleanup.yml
...
8 changes: 4 additions & 4 deletions eng/pipelines/templates/VS-release.template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,24 @@ steps:

- template: ../tasks/NuGetToolInstaller.yml

- template: ../tasks/MicroBuildSigningPlugin.yml

- template: ../tasks/MicroBuildLocalizationPlugin.yml

- template: ../steps/BuildSolution.yml
parameters:
Configuration: 'Lab.Release'
OneESPT: true

- template: ../steps/CollectAndPublishBinaries.yml
parameters:
TargetFolder: '$(Build.StagingDirectory)\drop'
ArtifactName: 'drop'
OneESPT: true

- template: ../tasks/SignVerify.yml
parameters:
TargetFolders: '$(Build.StagingDirectory)\drop'

- template: ../steps/CopyAndPublishSymbols.yml
parameters:
OneESPT: true

- template: ../steps/PackAndPublishVSPackages.yml
parameters:
Expand Down
5 changes: 3 additions & 2 deletions eng/pipelines/templates/VSCode-codesign-osx.template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,10 @@ steps:
echo "#[command] zip -r $(Pipeline.Workspace)/${{ rid }}.zip ./debugAdapters"
zip -r $(Pipeline.Workspace)/${{ rid }}.zip ./debugAdapters
- template: ../tasks/PublishPipelineArtifact.yml
- template: ../tasks/1ES/PublishPipelineArtifact.yml
parameters:
displayName: 'Publish Binaries'
path: '$(Pipeline.Workspace)/${{ rid }}.zip'
targetPath: '$(Pipeline.Workspace)/${{ rid }}.zip'
artifactName: 'unsigned_${{ rid }}_zip'
OneESPT: true
...
5 changes: 3 additions & 2 deletions eng/pipelines/templates/VSCode-esrp-sign-osx.template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@ steps:
SigningTarget: '$(Pipeline.Workspace)\Artifacts\${{ rid }}.zip'
SigningCert: 8023

- template: ../tasks/PublishPipelineArtifact.yml
- template: ../tasks/1ES/PublishPipelineArtifact.yml
parameters:
displayName: 'Publish Binaries'
path: '$(Pipeline.Workspace)\Artifacts\${{ rid }}.zip'
targetPath: '$(Pipeline.Workspace)\Artifacts\${{ rid }}.zip'
artifactName: '${{ rid }}_zip'
OneESPT: true
...
Loading

0 comments on commit 8cf60fb

Please sign in to comment.