2024-02-06 21:42:25 +03:00
|
|
|
# ==================================================================================
|
|
|
|
# Pipeline for release
|
|
|
|
# ==================================================================================
|
|
|
|
|
2024-02-07 20:25:24 +03:00
|
|
|
parameters:
|
|
|
|
- name: SignTypeOverride
|
|
|
|
displayName: Signing Type Override
|
|
|
|
type: string
|
|
|
|
default: default
|
|
|
|
values:
|
|
|
|
- default
|
|
|
|
- test
|
|
|
|
- real
|
2024-05-28 14:22:32 +03:00
|
|
|
- name: VerifyChangelog
|
|
|
|
displayName: Attest that CHANGELOG.md is up-to-date.
|
|
|
|
type: string
|
|
|
|
default: no
|
|
|
|
values:
|
|
|
|
- yes
|
|
|
|
- no
|
|
|
|
- name: VerifyNotice
|
|
|
|
displayName: Attest that all NOTICE files are up-to-date.
|
|
|
|
type: string
|
|
|
|
default: no
|
|
|
|
values:
|
|
|
|
- yes
|
|
|
|
- no
|
|
|
|
- name: ReleaseVersion
|
|
|
|
displayName: Release Version to set in the vsix package
|
|
|
|
type: string
|
|
|
|
default: unset
|
2024-02-07 20:25:24 +03:00
|
|
|
|
2024-02-06 21:42:25 +03:00
|
|
|
trigger: none
|
|
|
|
|
|
|
|
resources:
|
|
|
|
repositories:
|
|
|
|
- repository: self
|
|
|
|
type: git
|
2024-07-30 19:27:25 +03:00
|
|
|
ref: refs/heads/rel
|
2024-02-06 21:42:25 +03:00
|
|
|
- repository: MicroBuildTemplate
|
|
|
|
type: git
|
|
|
|
name: 1ESPipelineTemplates/MicroBuildTemplate
|
|
|
|
ref: refs/tags/release
|
|
|
|
|
|
|
|
name: $(Date:yyyyMMdd).$(Rev:r)
|
|
|
|
|
|
|
|
variables:
|
2024-02-07 20:25:24 +03:00
|
|
|
IsPreRelease: 0
|
|
|
|
# ReleaseVersion is set in the versions tab so it can be edited.
|
2024-04-03 20:03:43 +03:00
|
|
|
# VerifyNotice is set in the versions tab so it can be edited.
|
|
|
|
# VerifyChangelog is set in the versions tab so it can be edited.
|
2024-02-07 20:25:24 +03:00
|
|
|
TeamName: C++ Cross Platform and Cloud
|
2024-04-15 21:34:08 +03:00
|
|
|
Codeql.Language: javascript
|
2024-02-07 20:25:24 +03:00
|
|
|
# If the user didn't override the signing type, then only real-sign on main.
|
|
|
|
${{ if ne(parameters.SignTypeOverride, 'default') }}:
|
|
|
|
SignType: ${{ parameters.SignTypeOverride }}
|
|
|
|
${{ if and(eq(parameters.SignTypeOverride, 'default'), eq(variables['Build.SourceBranchName'], 'main')) }}:
|
|
|
|
SignType: real
|
|
|
|
${{ if and(eq(parameters.SignTypeOverride, 'default'), not(eq(variables['Build.SourceBranchName'], 'main'))) }}:
|
|
|
|
SignType: test
|
2024-02-06 21:42:25 +03:00
|
|
|
|
|
|
|
extends:
|
|
|
|
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
|
|
|
|
parameters:
|
|
|
|
pool:
|
2024-02-07 20:25:24 +03:00
|
|
|
name: VSEngSS-MicroBuild2022-1ES
|
2024-02-06 21:42:25 +03:00
|
|
|
sdl:
|
2024-02-07 20:25:24 +03:00
|
|
|
sourceAnalysisPool:
|
|
|
|
name: VSEngSS-MicroBuild2022-1ES
|
2024-02-06 21:42:25 +03:00
|
|
|
customBuildTags:
|
|
|
|
- ES365AIMigrationTooling
|
|
|
|
stages:
|
|
|
|
- stage: stage
|
|
|
|
jobs:
|
|
|
|
- job: Job_1
|
|
|
|
displayName: Build release
|
|
|
|
templateContext:
|
|
|
|
outputs:
|
|
|
|
- output: pipelineArtifact
|
|
|
|
displayName: 'Publish VSIX'
|
|
|
|
targetPath: $(Build.ArtifactStagingDirectory)/vsix
|
|
|
|
artifactName: vsix
|
|
|
|
sbomBuildDropPath: $(Build.ArtifactStagingDirectory)
|
|
|
|
steps:
|
|
|
|
- checkout: self
|
|
|
|
clean: true
|
|
|
|
fetchTags: false
|
2024-05-28 14:22:32 +03:00
|
|
|
- ${{ if not(eq(parameters.VerifyChangelog, 'yes')) }}:
|
|
|
|
- 'CHANGELOG.md should be updated before scheduling the pipeline.'
|
|
|
|
- ${{ if not(eq(parameters.VerifyNotice, 'yes')) }}:
|
|
|
|
- 'Third party notices should be updated before scheduling the pipeline.'
|
2024-07-03 16:44:50 +03:00
|
|
|
- ${{ if eq(parameters.ReleaseVersion, 'unset') }}:
|
2024-05-28 14:22:32 +03:00
|
|
|
- 'ReleaseVersion needs to be set before scheduling the pipeline.'
|
2024-07-03 16:55:33 +03:00
|
|
|
- template: /jobs/shared/build.yml@self
|
|
|
|
parameters:
|
|
|
|
ReleaseVersion: ${{ parameters.ReleaseVersion }}
|