Skip to content

Commit eb364fb

Browse files
committed
release.yml: update the AzDO release pipeline YAML
Previously the .azure-pipelines/release.yml file was not being used for release builds, but instead a private repository containing the real YAML (in Azure Repos) was being used. Let's bring the actual pipeline YAML into the main repo on GitHub. This is what we do in other projects like microsoft/git and git-ecosystem/git-credential-manager, and allows us to keep build changes in sync between GH and AzDO. Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
1 parent 59bfc47 commit eb364fb

1 file changed

Lines changed: 90 additions & 88 deletions

File tree

.azure-pipelines/release.yml

Lines changed: 90 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,95 @@
1-
# NOTE: this pipeline definition is not currently used to build releases of VFS for Git.
2-
# This is still done in the GVFS-Release-RealSign "classic" pipeline.
3-
41
name: $(date:yy)$(DayOfYear)$(rev:.r)
2+
trigger: none
3+
pr: none
54

65
variables:
7-
signType: test
8-
teamName: GVFS
9-
configuration: Release
10-
signPool: VSEng-MicroBuildVS2019
116
GVFSMajorAndMinorVersion: 1.0
127
GVFSRevision: $(Build.BuildNumber)
13-
14-
jobs:
15-
- job: build
16-
displayName: Windows Build and Sign
17-
18-
pool:
19-
name: $(signPool)
20-
21-
steps:
22-
- task: ms-vseng.MicroBuildTasks.30666190-6959-11e5-9f96-f56098202fef.MicroBuildSigningPlugin@2
23-
displayName: Install signing plugin
24-
inputs:
25-
signType: '$(SignType)'
26-
27-
- task: UseDotNet@2
28-
displayName: Install .NET SDK
29-
inputs:
30-
packageType: sdk
31-
version: 8.0.413
32-
33-
- task: CmdLine@2
34-
displayName: Build VFS for Git
35-
inputs:
36-
script: $(Build.Repository.LocalPath)\scripts\Build.bat $(configuration) $(GVFSMajorAndMinorVersion).$(GVFSRevision) detailed
37-
38-
- task: CmdLine@2
39-
displayName: Run unit tests
40-
inputs:
41-
script: $(Build.Repository.LocalPath)\scripts\RunUnitTests.bat $(configuration)
42-
43-
- task: CmdLine@2
44-
displayName: Create build artifacts
45-
inputs:
46-
script: $(Build.Repository.LocalPath)\scripts\CreateBuildArtifacts.bat $(configuration) $(Build.ArtifactStagingDirectory)
47-
48-
- task: PublishBuildArtifacts@1
49-
displayName: 'Publish Artifact: Installer'
50-
inputs:
51-
PathtoPublish: $(Build.ArtifactStagingDirectory)\NuGetPackages
52-
ArtifactName: Installer
53-
54-
- task: PublishBuildArtifacts@1
55-
displayName: 'Publish Artifact: FastFetch'
56-
inputs:
57-
PathtoPublish: $(Build.ArtifactStagingDirectory)\FastFetch
58-
ArtifactName: FastFetch
59-
60-
- task: PublishSymbols@1
61-
displayName: Enable Source Server
62-
condition: eq(succeeded(), eq(variables['signType'], 'real'))
63-
inputs:
64-
SearchPattern: '**\*.pdb'
65-
SymbolsFolder: $(Build.ArtifactStagingDirectory)\Symbols
66-
67-
- task: PublishBuildArtifacts@1
68-
displayName: 'Publish Artifact: Symbols'
69-
inputs:
70-
PathtoPublish: $(Build.ArtifactStagingDirectory)\Symbols
71-
ArtifactName: Symbols
72-
73-
- task: ms-vscs-artifact.build-tasks.artifactSymbolTask-1.artifactSymbolTask@0
74-
displayName: Publish to Symbols on Symweb
75-
condition: eq(succeeded(), eq(variables['signType'], 'real'))
76-
inputs:
77-
symbolServiceURI: https://microsoft.artifacts.visualstudio.com/DefaultCollection
78-
sourcePath: $(Build.ArtifactStagingDirectory)/Symbols
79-
expirationInDays: 2065
80-
usePat: false
81-
82-
- task: NuGetCommand@2
83-
displayName: Push GVFS.Installers package
84-
condition: eq(succeeded(), eq(variables['signType'], 'real'))
85-
inputs:
86-
command: push
87-
packagesToPush: $(Build.ArtifactStagingDirectory)\NuGetPackages\GVFS.Installers.*.nupkg
88-
nuGetFeedType: external
89-
publishFeedCredentials: '1essharedassets GVFS [PUBLISH]'
90-
91-
- task: ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1
92-
displayName: Send MicroBuild Telemetry
93-
condition: always()
8+
BuildConfiguration: Release
9+
TeamName: GVFS
10+
11+
resources:
12+
repositories:
13+
- repository: MicroBuildTemplate
14+
type: git
15+
name: 1ESPipelineTemplates/MicroBuildTemplate
16+
ref: refs/tags/release
17+
18+
- repository: VFSForGit
19+
type: github
20+
name: microsoft/VFSForGit
21+
ref: releases/shipped
22+
endpoint: GitHub-VFSForGit
23+
24+
extends:
25+
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
26+
parameters:
27+
pool:
28+
name: VSEngSS-MicroBuild2022-1ES
29+
30+
featureFlags:
31+
incrementalSDLBinaryAnalysis: false
32+
disableNetworkIsolation: true
33+
34+
sdl:
35+
binskim:
36+
enabled: false
37+
justificationForDisabling: "Guardian and BinSkim do not support a suppression for InnoSetup installer file"
38+
sourceRepositoriesToScan:
39+
include:
40+
- repository: VFSForGit
41+
42+
stages:
43+
- stage: Release
44+
45+
jobs:
46+
- job: Build
47+
templateContext:
48+
mb:
49+
signing:
50+
enabled: true
51+
feedSource: 'https://pkgs.dev.azure.com/mseng/_packaging/MicroBuildToolset/nuget/v3/index.json'
52+
signType: real
53+
signWithProd: true
54+
55+
outputs:
56+
- output: pipelineArtifact
57+
targetPath: $(Build.ArtifactStagingDirectory)\GVFS.Installers
58+
artifactName: Installer
59+
- output: pipelineArtifact
60+
targetPath: $(Build.ArtifactStagingDirectory)\FastFetch
61+
artifactName: FastFetch
62+
- output: pipelineArtifact
63+
targetPath: $(Build.ArtifactStagingDirectory)\Symbols
64+
artifactName: Symbols
65+
- output: pipelineArtifact
66+
targetPath: $(Build.ArtifactStagingDirectory)\GVFS.FunctionalTests
67+
artifactName: FunctionalTests
68+
69+
steps:
70+
- checkout: VFSForGit
71+
displayName: 'Checkout VFS for Git'
72+
path: vfsforgit\src
73+
74+
- task: NuGetToolInstaller@1
75+
displayName: 'Use NuGet 6.x'
76+
inputs:
77+
versionSpec: '6.x'
78+
79+
- script: |
80+
$(Agent.BuildDirectory)\vfsforgit\src\scripts\Build.bat ^
81+
$(BuildConfiguration) ^
82+
$(GVFSMajorAndMinorVersion).$(GVFSRevision) ^
83+
detailed
84+
displayName: 'Build and sign ($(BuildConfiguration))'
85+
86+
- script: |
87+
$(Agent.BuildDirectory)\vfsforgit\src\scripts\RunUnitTests.bat ^
88+
$(BuildConfiguration)
89+
displayName: 'Run unit tests'
90+
91+
- script: |
92+
$(Agent.BuildDirectory)\vfsforgit\src\scripts\CreateBuildArtifacts.bat ^
93+
$(BuildConfiguration) ^
94+
$(Build.ArtifactStagingDirectory)
95+
displayName: 'Create artifacts'

0 commit comments

Comments
 (0)