100 строки
3.3 KiB
YAML
100 строки
3.3 KiB
YAML
# Copyright (c) Microsoft Corporation.
|
|
# Licensed under the MIT License.
|
|
|
|
parameters:
|
|
- name: SignTypeOverride
|
|
displayName: Signing Type Override
|
|
type: string
|
|
default: default
|
|
values:
|
|
- default
|
|
- test
|
|
- real
|
|
|
|
trigger: none
|
|
|
|
resources:
|
|
repositories:
|
|
- repository: self
|
|
type: git
|
|
ref: refs/heads/main
|
|
- repository: MicroBuildTemplate
|
|
type: git
|
|
name: 1ESPipelineTemplates/MicroBuildTemplate
|
|
ref: refs/tags/release
|
|
|
|
name: $(Date:yyyyMMdd).$(Rev:r)
|
|
|
|
variables:
|
|
IsPreRelease: 0
|
|
# ReleaseVersion is set in the versions tab so it can be edited.
|
|
# VerifyNotice is set in the versions tab so it can be edited.
|
|
# VerifyChangelog is set in the versions tab so it can be edited.
|
|
TeamName: C++ Cross Platform and Cloud
|
|
# 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
|
|
|
|
extends:
|
|
template: azure-pipelines/MicroBuild.1ES.Official.yml@MicroBuildTemplate
|
|
parameters:
|
|
pool:
|
|
name: VSEngSS-MicroBuild2022-1ES
|
|
sdl:
|
|
sourceAnalysisPool:
|
|
name: VSEngSS-MicroBuild2022-1ES
|
|
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)
|
|
# No need for the SBOM, it's now located in the vsix artifact
|
|
steps:
|
|
- checkout: self
|
|
clean: true
|
|
fetchTags: false
|
|
- task: CmdLine@2
|
|
displayName: Check ReleaseVersion
|
|
inputs:
|
|
script: |-
|
|
@echo off
|
|
if "$(ReleaseVersion)"=="unset" (
|
|
echo ^"ReleaseVersion^" was not set
|
|
exit /B 1
|
|
)
|
|
exit /b 0
|
|
- task: CmdLine@2
|
|
displayName: Check VerifyNotice
|
|
inputs:
|
|
script: |-
|
|
@echo off
|
|
if "$(VerifyNotice)"=="no" (
|
|
echo ^"VerifyNotice^" was not set. Set to 'yes' once the NOTICE.txt is confirmed to be up-to-date.
|
|
exit /B 1
|
|
)
|
|
exit /b 0
|
|
- task: CmdLine@2
|
|
displayName: Check VerifyChangelog
|
|
inputs:
|
|
script: |-
|
|
@echo off
|
|
if "$(VerifyChangelog)"=="no" (
|
|
echo ^"VerifyChangelog^" was not set. Set to 'yes' once the CHANGELOG is confirmed to be up-to-date.
|
|
exit /B 1
|
|
)
|
|
exit /b 0
|
|
- template: /jobs/shared/build.yml@self
|