FluidFramework/tools/pipelines/build-protocol-definitions.yml

105 строки
3.4 KiB
YAML

# Copyright (c) Microsoft Corporation and contributors. All rights reserved.
# Licensed under the MIT License.
# build-protocol-definitions pipeline
name: $(Build.BuildId)
parameters:
- name: releaseBuildOverride
displayName: Release Build (default = not released)
type: string
default: none
values:
- none
- prerelease
- release
- name: publishOverride
displayName: Publish Override (default = based on branch)
type: string
default: default
values:
- default
- skip
- force
- name: buildToolsVersionToInstall
displayName: Fluid build tools version (default = installs version in repo)
type: string
default: repo
trigger:
branches:
include:
- main
- next
- lts
- release/*
paths:
include:
- .prettierignore
- fluidBuild.config.cjs
- common/build/build-common
- common/lib/protocol-definitions
# Protocol-definitions references files from the patches folder at the root of the repo.
# Using the whole folder as dependency because when patch files are updated they might get new names.
- patches/*
- scripts/*
- tools/pipelines/build-protocol-definitions.yml
- tools/pipelines/templates/build-npm-package.yml
- tools/pipelines/templates/include-set-package-version.yml
- tools/pipelines/templates/include-vars.yml
- tools/pipelines/templates/include-install-pnpm.yml
- tools/pipelines/templates/include-publish-npm-package.yml
- tools/pipelines/templates/include-publish-npm-package-deployment.yml
- tools/pipelines/templates/include-publish-npm-package-steps.yml
- tools/pipelines/templates/include-git-tag-steps.yml
- tools/pipelines/templates/include-use-node-version.yml
- tools/pipelines/templates/include-process-test-results.yml
- tools/pipelines/templates/upload-dev-manifest.yml
pr:
branches:
include:
- main
- next
- lts
- release/*
paths:
include:
- .prettierignore
- common/build/build-common
- common/lib/protocol-definitions
# Protocol-definitions references files from the patches folder at the root of the repo.
# Using the whole folder as dependency because when patch files are updated they might get new names.
- patches/*
- scripts/*
- tools/pipelines/build-protocol-definitions.yml
- tools/pipelines/templates/build-npm-package.yml
- tools/pipelines/templates/include-set-package-version.yml
- tools/pipelines/templates/include-vars.yml
- tools/pipelines/templates/include-install-pnpm.yml
- tools/pipelines/templates/include-use-node-version.yml
- tools/pipelines/templates/include-process-test-results.yml
- tools/pipelines/templates/upload-dev-manifest.yml
variables:
- template: /tools/pipelines/templates/include-vars.yml@self
parameters:
publishOverride: '${{ parameters.publishOverride }}'
releaseBuildOverride: '${{ parameters.releaseBuildOverride }}'
buildNumberInPatch: ''
extends:
template: /tools/pipelines/templates/build-npm-package.yml@self
parameters:
publish: ${{ variables.publish }}
publishOverride: ${{ parameters.publishOverride }}
releaseBuildOverride: ${{ parameters.releaseBuildOverride }}
buildToolsVersionToInstall: ${{ parameters.buildToolsVersionToInstall }}
buildDirectory: common/lib/protocol-definitions
packageManagerInstallCommand: 'pnpm i --frozen-lockfile'
packageManager: pnpm
tagName: protocol-definitions
testCoverage: false
taskTest: [] # no tests