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

122 строки
3.6 KiB
YAML

# Copyright (c) Microsoft Corporation and contributors. All rights reserved.
# Licensed under the MIT License.
# build-build-tools 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: interdependencyRange
displayName: Range to use for interdependencies (only affects releases) (default = ~)
type: string
default: "~"
# The " " value (a space) is a hacky workaround. ADO doesn't support empty string, but we ultimately use this value as
# an environment variable in a bash script (the 'update package versions' step), where it gets coerced back to the
# empty string.
values:
- "^"
- "~"
- " "
- name: buildToolsVersionToInstall
displayName: Fluid build tools version (default = installs version in repo)
type: string
default: repo
trigger:
branches:
include:
- main
- next
- lts
paths:
include:
- .prettierignore
- biome.json
- biome.jsonc
- build-tools
- common/build/build-common
- tools/pipelines/build-build-tools.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-use-node-version.yml
- tools/pipelines/templates/include-process-test-results.yml
- tools/pipelines/templates/upload-dev-manifest.yml
- scripts/*
pr:
branches:
include:
- main
- next
- lts
- release/*
paths:
include:
- .prettierignore
- build-tools
- common/build/build-common
- tools/pipelines/build-build-tools.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
- scripts/*
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 }}
interdependencyRange: ${{ parameters.interdependencyRange }}
packageManagerInstallCommand: 'pnpm i --frozen-lockfile'
packageManager: pnpm
testCoverage: ${{ variables.testCoverage }}
buildDirectory: build-tools
tagName: build-tools
isReleaseGroup: true
taskBuild: build
taskBuildDocs: false
tasktest:
- ci:test
- test:copyresults
taskLint: true
taskLintName: ci:eslint
poolBuild: Large-eastus2
checkoutSubmodules: true
taskBundleAnalysis: false
checks:
- checks