зеркало из https://github.com/microsoft/keyborg.git
89 строки
3.0 KiB
YAML
89 строки
3.0 KiB
YAML
# Variable 'prerelease' was defined in the Variables tab
|
|
# Variable 'prereleaseTag' was defined in the Variables tab
|
|
# Variable 'publishVersion' was defined in the Variables tab
|
|
|
|
variables:
|
|
- group: 'Github and NPM secrets'
|
|
- name: tags
|
|
value: production,externalfacing
|
|
|
|
resources:
|
|
repositories:
|
|
- repository: 1esPipelines
|
|
type: git
|
|
name: 1ESPipelineTemplates/1ESPipelineTemplates
|
|
ref: refs/tags/release
|
|
|
|
extends:
|
|
template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines
|
|
parameters:
|
|
pool:
|
|
name: Azure-Pipelines-1ESPT-ExDShared
|
|
image: windows-latest
|
|
os: windows # We need windows because compliance task only run on windows.
|
|
stages:
|
|
- stage: main
|
|
jobs:
|
|
- job: Release
|
|
pool:
|
|
name: '1ES-Host-Ubuntu'
|
|
image: '1ES-PT-Ubuntu-20.04'
|
|
os: linux
|
|
workspace:
|
|
clean: all
|
|
templateContext:
|
|
outputs:
|
|
- output: pipelineArtifact
|
|
targetPath: $(System.DefaultWorkingDirectory)
|
|
artifactName: output
|
|
steps:
|
|
- checkout: self
|
|
clean: true
|
|
|
|
- task: CmdLine@2
|
|
displayName: Re-attach head
|
|
inputs:
|
|
script: |
|
|
git checkout --track "origin/${BUILD_SOURCEBRANCH//refs\/heads\/}"
|
|
git pull
|
|
|
|
- task: NodeTool@0
|
|
displayName: Use Node 16.x
|
|
inputs:
|
|
versionSpec: 16.x
|
|
|
|
- task: Npm@1
|
|
displayName: npm install
|
|
inputs:
|
|
verbose: false
|
|
|
|
- task: CmdLine@2
|
|
displayName: Authenticate git for pushes
|
|
inputs:
|
|
script: >-
|
|
git config user.name "Keyborg Build"
|
|
|
|
git config user.email "fluentui-internal@service.microsoft.com"
|
|
|
|
git remote set-url origin https://$(githubUser):$(githubPAT)@github.com/microsoft/keyborg.git
|
|
|
|
- task: CmdLine@2
|
|
displayName: Write npmrc for publish token
|
|
inputs:
|
|
script: echo '//registry.npmjs.org/:_authToken=${NPM_TOKEN}' > .npmrc
|
|
|
|
- task: CmdLine@2
|
|
displayName: Publish (official)
|
|
condition: eq(variables.prerelease, false)
|
|
inputs:
|
|
script: 'npm run release -- $(publishVersion) --ci '
|
|
env:
|
|
NPM_TOKEN: $(npmToken)
|
|
|
|
- task: CmdLine@2
|
|
displayName: Publish (prerelease)
|
|
condition: eq(variables.prerelease, true)
|
|
inputs:
|
|
script: npm run release -- $(publishVersion) --preRelease $(prereleaseTag) --ci
|
|
env:
|
|
NPM_TOKEN: $(npmToken) |