File tree Expand file tree Collapse file tree 7 files changed +299
-0
lines changed Expand file tree Collapse file tree 7 files changed +299
-0
lines changed Original file line number Diff line number Diff line change 1+ name : $(date:yyyyMMdd)$(rev:.r)
2+ trigger : none
3+ pr : none
4+
5+ parameters :
6+ - name : verifyVersion
7+ displayName : Attest version in package.json is correct
8+ type : boolean
9+ default : false
10+ - name : verifyReadme
11+ displayName : Attest README.md is updated
12+ type : boolean
13+ default : false
14+
15+ resources :
16+ repositories :
17+ - repository : MicroBuildTemplate
18+ type : git
19+ name : 1ESPipelineTemplates/MicroBuildTemplate
20+ ref : refs/tags/release
21+
22+ extends :
23+ template : azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
24+ parameters :
25+ pool :
26+ name : AzurePipelines-EO
27+ image : AzurePipelinesWindows2022compliantGPT
28+ os : windows
29+ sdl :
30+ sourceAnalysisPool :
31+ name : AzurePipelines-EO
32+ image : AzurePipelinesWindows2022compliantGPT
33+ os : windows
34+
35+ stages :
36+ - stage : package
37+ jobs :
38+ # Introduce pipeline compilation errors to block scheduling if the requisite parameters are not set
39+ - ${{ if not(eq(parameters.verifyVersion, true)) }} :
40+ - ' The version in package.json should be updated before scheduling the pipeline.'
41+
42+ - ${{ if not(eq(parameters.verifyReadme, true)) }} :
43+ - ' README.md should be updated before scheduling the pipeline.'
44+
45+ - template : /Build/package/jobs_package_vsix.yml@self
46+ parameters :
47+ vsixName : cpptools-extension-pack.vsix
48+ srcDir : ExtensionPack
Original file line number Diff line number Diff line change 1+ name : $(date:yyyyMMdd)$(rev:.r)
2+ trigger : none
3+ pr : none
4+
5+ parameters :
6+ - name : verifyVersion
7+ displayName : Attest version in package.json is correct
8+ type : boolean
9+ default : false
10+ - name : verifyReadme
11+ displayName : Attest README.md is updated
12+ type : boolean
13+ default : false
14+
15+ resources :
16+ repositories :
17+ - repository : MicroBuildTemplate
18+ type : git
19+ name : 1ESPipelineTemplates/MicroBuildTemplate
20+ ref : refs/tags/release
21+
22+ extends :
23+ template : azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
24+ parameters :
25+ pool :
26+ name : AzurePipelines-EO
27+ image : AzurePipelinesWindows2022compliantGPT
28+ os : windows
29+ sdl :
30+ sourceAnalysisPool :
31+ name : AzurePipelines-EO
32+ image : AzurePipelinesWindows2022compliantGPT
33+ os : windows
34+
35+ stages :
36+ - stage : package
37+ jobs :
38+ # Introduce pipeline compilation errors to block scheduling if the requisite parameters are not set
39+ - ${{ if not(eq(parameters.verifyVersion, true)) }} :
40+ - ' The version in package.json should be updated before scheduling the pipeline.'
41+
42+ - ${{ if not(eq(parameters.verifyReadme, true)) }} :
43+ - ' README.md should be updated before scheduling the pipeline.'
44+
45+ - template : /Build/package/jobs_package_vsix.yml@self
46+ parameters :
47+ vsixName : cpptools-themes.vsix
48+ srcDir : Themes
Original file line number Diff line number Diff line change 1+ parameters :
2+ - name : vsixName
3+ type : string
4+ default : ' '
5+ - name : srcDir
6+ type : string
7+ default : ' '
8+
9+ jobs :
10+ - job : package
11+ displayName : Build ${{ parameters.vsixName }}
12+ timeoutInMinutes : 30
13+ cancelTimeoutInMinutes : 1
14+ templateContext :
15+ outputs :
16+ - output : pipelineArtifact
17+ displayName : ' ${{ parameters.vsixName }}'
18+ targetPath : $(Build.ArtifactStagingDirectory)\vsix
19+ artifactName : vsix
20+
21+ steps :
22+ - checkout : self
23+
24+ - task : UseNode@1
25+ displayName : Use Node 18.x
26+ inputs :
27+ version : 18.x
28+
29+ - task : Npm@0
30+ displayName : Install vsce
31+ inputs :
32+ arguments : --global @vscode/vsce
33+
34+ - task : geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3
35+ displayName : Use Yarn 1.x
36+
37+ - task : CmdLine@1
38+ displayName : Create Staging Directory
39+ inputs :
40+ filename : mkdir
41+ arguments : $(Build.ArtifactStagingDirectory)\vsix
42+
43+ - task : CmdLine@1
44+ displayName : Run VSCE to package vsix
45+ inputs :
46+ filename : vsce
47+ arguments : package --yarn -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}
48+ workingFolder : $(Build.SourcesDirectory)\${{ parameters.srcDir }}
49+
50+ - task : Npm@0
51+ displayName : Uninstall vsce
52+ inputs :
53+ command : uninstall
54+ arguments : --global @vscode/vsce
Original file line number Diff line number Diff line change 1+ name : $(Date:yyyyMMdd)$(rev:.r)
2+ trigger : none
3+ pr : none
4+
5+ resources :
6+ repositories :
7+ - repository : MicroBuildTemplate
8+ type : git
9+ name : 1ESPipelineTemplates/MicroBuildTemplate
10+ ref : refs/tags/release
11+ pipelines :
12+ - pipeline : vsixBuild
13+ source : ' \VC\VSCode\CpptoolsVSIX\Package cpptools-extension-pack'
14+ trigger : true
15+
16+ extends :
17+ template : azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
18+ parameters :
19+ pool :
20+ name : AzurePipelines-EO
21+ image : AzurePipelinesWindows2022compliantGPT
22+ os : windows
23+ sdl :
24+ sourceAnalysisPool :
25+ name : AzurePipelines-EO
26+ image : AzurePipelinesWindows2022compliantGPT
27+ os : windows
28+
29+ stages :
30+ - stage : Validate
31+ jobs :
32+ - template : /Build/publish/jobs_manual_validation.yml@self
33+ parameters :
34+ notifyUsers : $(NotifyUsers)
35+ releaseBuildUrl : $(ReleaseBuildUrl)
36+
37+ - stage : Release
38+ dependsOn : Validate
39+ jobs :
40+ - template : /Build/publish/jobs_publish_vsix.yml@self
41+ parameters :
42+ vsixName : cpptools-extension-pack.vsix
43+
Original file line number Diff line number Diff line change 1+ name : $(Date:yyyyMMdd)$(rev:.r)
2+ trigger : none
3+ pr : none
4+
5+ resources :
6+ repositories :
7+ - repository : MicroBuildTemplate
8+ type : git
9+ name : 1ESPipelineTemplates/MicroBuildTemplate
10+ ref : refs/tags/release
11+ pipelines :
12+ - pipeline : vsixBuild
13+ source : ' \VC\VSCode\CpptoolsVSIX\Package cpptools-themes'
14+ trigger : true
15+
16+ extends :
17+ template : azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
18+ parameters :
19+ pool :
20+ name : AzurePipelines-EO
21+ image : AzurePipelinesWindows2022compliantGPT
22+ os : windows
23+ sdl :
24+ sourceAnalysisPool :
25+ name : AzurePipelines-EO
26+ image : AzurePipelinesWindows2022compliantGPT
27+ os : windows
28+
29+ stages :
30+ - stage : Validate
31+ jobs :
32+ - template : /Build/publish/jobs_manual_validation.yml@self
33+ parameters :
34+ notifyUsers : $(NotifyUsers)
35+ releaseBuildUrl : $(ReleaseBuildUrl)
36+
37+ - stage : Release
38+ dependsOn : Validate
39+ jobs :
40+ - template : /Build/publish/jobs_publish_vsix.yml@self
41+ parameters :
42+ vsixName : cpptools-themes.vsix
43+
Original file line number Diff line number Diff line change 1+ parameters :
2+ - name : notifyUsers
3+ type : string
4+ default : ' '
5+ - name : releaseBuildUrl
6+ type : string
7+ default : ' '
8+
9+ jobs :
10+ - job : WaitForValidation
11+ displayName : Wait for VSIX validation
12+ pool : server
13+ steps :
14+ - task : ManualValidation@0
15+ displayName : " Manual Validation"
16+ inputs :
17+ notifyUsers : $(notifyUsers)
18+ instructions : |
19+ Download and test the vsix from the latest release build: $(releaseBuildUrl)
Original file line number Diff line number Diff line change 1+ parameters :
2+ - name : vsixName
3+ type : string
4+ default : ' '
5+
6+ jobs :
7+ - job : Publish
8+ displayName : Publish to Marketplace
9+ templateContext :
10+ type : releaseJob
11+ isProduction : true
12+ inputs :
13+ - input : pipelineArtifact
14+ pipeline : vsixBuild
15+ artifactName : vsix
16+ targetPath : $(Build.StagingDirectory)\vsix
17+
18+ steps :
19+ - task : NodeTool@0
20+ displayName : Use Node 18.x
21+ inputs :
22+ versionSpec : 18.x
23+
24+ - task : Npm@0
25+ displayName : Install vsce
26+ inputs :
27+ arguments : --global @vscode/vsce
28+
29+ - task : AzureCLI@2
30+ displayName : Generate AAD_TOKEN
31+ inputs :
32+ azureSubscription : $(AzureSubscription)
33+ scriptType : ps
34+ scriptLocation : inlineScript
35+ inlineScript : |
36+ $aadToken = az account get-access-token --query accessToken --resource $(AzureGuid) -o tsv
37+ Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken"
38+
39+ - script : |
40+ vsce publish --packagePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}
41+ displayName: Publish to Marketplace
42+ env:
43+ VSCE_PAT: $(AAD_TOKEN)
44+
You can’t perform that action at this time.
0 commit comments