2020-12-29 01:08:08 +01:00
|
|
|
trigger:
|
|
|
|
# Only run latest commit for branches:
|
|
|
|
batch: true
|
|
|
|
# Do not run Azure CI for docs-only/example-only changes:
|
|
|
|
paths:
|
|
|
|
include:
|
|
|
|
- '*'
|
|
|
|
exclude:
|
2021-01-05 02:41:42 +01:00
|
|
|
- bench
|
|
|
|
- docs
|
|
|
|
- errors
|
|
|
|
- examples
|
2022-01-12 02:55:35 +01:00
|
|
|
# Do not run Azure on `canary`, `main`, or release tags. This unnecessarily
|
2020-12-29 01:08:08 +01:00
|
|
|
# increases the backlog, and the change was already tested on the PR.
|
|
|
|
branches:
|
|
|
|
include:
|
|
|
|
- '*'
|
|
|
|
exclude:
|
|
|
|
- canary
|
2022-01-12 02:55:35 +01:00
|
|
|
- main
|
2020-12-29 01:08:08 +01:00
|
|
|
- refs/tags/*
|
|
|
|
|
2021-01-05 02:41:42 +01:00
|
|
|
pr:
|
|
|
|
# Do not run Azure CI for docs-only/example-only changes:
|
|
|
|
paths:
|
|
|
|
include:
|
|
|
|
- '*'
|
|
|
|
exclude:
|
|
|
|
- bench
|
|
|
|
- docs
|
|
|
|
- errors
|
|
|
|
- examples
|
|
|
|
|
2019-09-13 04:51:56 +02:00
|
|
|
variables:
|
2022-05-29 06:35:16 +02:00
|
|
|
PNPM_CACHE_FOLDER: $(Pipeline.Workspace)/.pnpm-store
|
2022-06-17 19:36:37 +02:00
|
|
|
PNPM_VERSION: 7.2.1
|
2019-12-26 21:01:22 +01:00
|
|
|
NEXT_TELEMETRY_DISABLED: '1'
|
2022-05-29 06:35:16 +02:00
|
|
|
node_version: ^14.19.0
|
2019-12-26 21:01:22 +01:00
|
|
|
|
2020-11-09 06:56:39 +01:00
|
|
|
stages:
|
|
|
|
- stage: Test
|
|
|
|
jobs:
|
2022-02-04 20:42:22 +01:00
|
|
|
- job: test_integration
|
2020-11-09 06:56:39 +01:00
|
|
|
pool:
|
|
|
|
vmImage: 'windows-2019'
|
|
|
|
steps:
|
|
|
|
- task: NodeTool@0
|
|
|
|
inputs:
|
|
|
|
versionSpec: $(node_version)
|
|
|
|
displayName: 'Install Node.js'
|
2022-05-29 06:35:16 +02:00
|
|
|
|
2022-07-11 16:42:51 +02:00
|
|
|
- bash: |
|
|
|
|
node scripts/run-for-change.js --not --type docs --exec echo "##vso[task.setvariable variable=isDocsOnly]No"
|
|
|
|
displayName: 'Check Docs Only Change'
|
|
|
|
|
2022-05-29 06:35:16 +02:00
|
|
|
- script: npm i -g pnpm@$(PNPM_VERSION)
|
2022-07-11 16:42:51 +02:00
|
|
|
condition: eq(variables['isDocsOnly'], 'No')
|
|
|
|
|
2022-05-29 06:35:16 +02:00
|
|
|
- script: pnpm config set store-dir $(PNPM_CACHE_FOLDER)
|
2022-07-11 18:15:25 +02:00
|
|
|
condition: eq(variables['isDocsOnly'], 'No')
|
|
|
|
|
2022-05-29 06:35:16 +02:00
|
|
|
- script: pnpm store path
|
2022-07-11 18:15:25 +02:00
|
|
|
condition: eq(variables['isDocsOnly'], 'No')
|
2022-05-29 06:35:16 +02:00
|
|
|
|
2022-07-11 16:42:51 +02:00
|
|
|
- script: pnpm install && pnpm run build
|
|
|
|
condition: eq(variables['isDocsOnly'], 'No')
|
2022-05-29 06:35:16 +02:00
|
|
|
displayName: 'Install and build'
|
2021-09-13 14:36:25 +02:00
|
|
|
|
2022-07-11 16:42:51 +02:00
|
|
|
- script: npx playwright install chromium
|
|
|
|
condition: eq(variables['isDocsOnly'], 'No')
|
2021-09-13 14:36:25 +02:00
|
|
|
|
2020-11-09 06:56:39 +01:00
|
|
|
- script: |
|
2021-07-29 17:35:13 +02:00
|
|
|
node run-tests.js -c 1 test/integration/production/test/index.test.js test/integration/css-client-nav/test/index.test.js test/integration/rewrites-has-condition/test/index.test.js
|
2022-07-11 16:42:51 +02:00
|
|
|
condition: eq(variables['isDocsOnly'], 'No')
|
2020-11-09 06:56:39 +01:00
|
|
|
displayName: 'Run tests'
|
2020-11-10 18:25:50 +01:00
|
|
|
|
|
|
|
- job: test_unit
|
|
|
|
pool:
|
|
|
|
vmImage: 'windows-2019'
|
|
|
|
steps:
|
|
|
|
- script: |
|
|
|
|
wmic datafile where name="C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe" get Version /value
|
|
|
|
displayName: 'List Chrome version'
|
2022-05-29 06:35:16 +02:00
|
|
|
|
2020-11-10 18:25:50 +01:00
|
|
|
- task: NodeTool@0
|
|
|
|
inputs:
|
|
|
|
versionSpec: $(node_version)
|
|
|
|
displayName: 'Install Node.js'
|
2022-05-29 06:35:16 +02:00
|
|
|
|
2022-07-11 16:42:51 +02:00
|
|
|
- bash: |
|
|
|
|
node scripts/run-for-change.js --not --type docs --exec echo "##vso[task.setvariable variable=isDocsOnly]No"
|
|
|
|
displayName: 'Check Docs Only Change'
|
|
|
|
|
2022-05-29 06:35:16 +02:00
|
|
|
- script: npm i -g pnpm@$(PNPM_VERSION)
|
2022-07-11 16:42:51 +02:00
|
|
|
condition: eq(variables['isDocsOnly'], 'No')
|
|
|
|
|
2022-05-29 06:35:16 +02:00
|
|
|
- script: pnpm config set store-dir $(PNPM_CACHE_FOLDER)
|
2022-07-11 18:15:25 +02:00
|
|
|
condition: eq(variables['isDocsOnly'], 'No')
|
|
|
|
|
2022-05-29 06:35:16 +02:00
|
|
|
- script: pnpm store path
|
2022-07-11 18:15:25 +02:00
|
|
|
condition: eq(variables['isDocsOnly'], 'No')
|
2022-05-29 06:35:16 +02:00
|
|
|
|
2022-07-11 16:42:51 +02:00
|
|
|
- script: pnpm install && pnpm run build
|
|
|
|
condition: eq(variables['isDocsOnly'], 'No')
|
2022-05-29 06:35:16 +02:00
|
|
|
displayName: 'Install and build'
|
|
|
|
|
2022-07-11 16:42:51 +02:00
|
|
|
- script: node run-tests.js --type unit
|
|
|
|
condition: eq(variables['isDocsOnly'], 'No')
|
2020-11-10 18:25:50 +01:00
|
|
|
displayName: 'Run tests'
|