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
|
2019-12-26 21:01:22 +01:00
|
|
|
NEXT_TELEMETRY_DISABLED: '1'
|
2022-12-14 19:52:52 +01:00
|
|
|
node_16_version: ^16.8.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:
|
2023-04-27 09:31:27 +02:00
|
|
|
versionSpec: $(node_16_version)
|
2020-11-09 06:56:39 +01:00
|
|
|
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'
|
|
|
|
|
2023-08-04 21:40:20 +02:00
|
|
|
- script: corepack enable
|
2022-07-11 16:42:51 +02:00
|
|
|
condition: eq(variables['isDocsOnly'], 'No')
|
2023-08-04 21:40:20 +02:00
|
|
|
displayName: 'Enable Corepack'
|
2022-07-11 16:42:51 +02:00
|
|
|
|
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
|
|
|
|
2023-01-12 02:36:52 +01:00
|
|
|
- script: npx playwright@1.28.1 install chromium
|
2022-07-11 16:42:51 +02:00
|
|
|
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:
|
2023-04-27 09:31:27 +02:00
|
|
|
versionSpec: $(node_16_version)
|
2020-11-10 18:25:50 +01:00
|
|
|
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'
|
|
|
|
|
2023-08-04 21:40:20 +02:00
|
|
|
- script: corepack enable
|
2022-07-11 16:42:51 +02:00
|
|
|
condition: eq(variables['isDocsOnly'], 'No')
|
2023-08-04 21:40:20 +02:00
|
|
|
displayName: 'Enable Corepack'
|
2022-07-11 16:42:51 +02:00
|
|
|
|
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'
|
2022-12-14 19:52:52 +01:00
|
|
|
|
2023-01-06 02:34:16 +01:00
|
|
|
# - job: test_e2e_dev
|
|
|
|
# pool:
|
|
|
|
# vmImage: 'windows-2019'
|
|
|
|
# steps:
|
|
|
|
# - task: NodeTool@0
|
|
|
|
# inputs:
|
|
|
|
# versionSpec: $(node_16_version)
|
|
|
|
# displayName: 'Install Node.js'
|
|
|
|
|
|
|
|
# - bash: |
|
|
|
|
# node scripts/run-for-change.js --not --type docs --exec echo "##vso[task.setvariable variable=isDocsOnly]No"
|
|
|
|
# displayName: 'Check Docs Only Change'
|
|
|
|
|
2023-08-04 21:40:20 +02:00
|
|
|
# - script: corepack enable
|
2023-01-06 02:34:16 +01:00
|
|
|
# condition: eq(variables['isDocsOnly'], 'No')
|
2023-08-04 21:40:20 +02:00
|
|
|
# displayName: 'Enable Corepack'
|
2023-01-06 02:34:16 +01:00
|
|
|
|
|
|
|
# - script: pnpm config set store-dir $(PNPM_CACHE_FOLDER)
|
|
|
|
# condition: eq(variables['isDocsOnly'], 'No')
|
|
|
|
|
|
|
|
# - script: pnpm store path
|
|
|
|
# condition: eq(variables['isDocsOnly'], 'No')
|
|
|
|
|
|
|
|
# - script: pnpm install && pnpm run build
|
|
|
|
# condition: eq(variables['isDocsOnly'], 'No')
|
|
|
|
# displayName: 'Install and build'
|
|
|
|
|
2023-01-12 02:36:52 +01:00
|
|
|
# - script: npx playwright@1.28.1 install chromium
|
2023-01-06 02:34:16 +01:00
|
|
|
# condition: eq(variables['isDocsOnly'], 'No')
|
|
|
|
|
|
|
|
# - script: |
|
|
|
|
# node run-tests.js -c 1 --debug test/e2e/app-dir/app/index.test.ts
|
|
|
|
# condition: eq(variables['isDocsOnly'], 'No')
|
|
|
|
# displayName: 'Run tests (E2E Development)'
|
|
|
|
# env:
|
|
|
|
# NEXT_TEST_MODE: 'dev'
|
|
|
|
|
|
|
|
# - job: test_e2e_prod
|
|
|
|
# pool:
|
|
|
|
# vmImage: 'windows-2019'
|
|
|
|
# steps:
|
|
|
|
# - task: NodeTool@0
|
|
|
|
# inputs:
|
|
|
|
# versionSpec: $(node_16_version)
|
|
|
|
# displayName: 'Install Node.js'
|
|
|
|
|
|
|
|
# - bash: |
|
|
|
|
# node scripts/run-for-change.js --not --type docs --exec echo "##vso[task.setvariable variable=isDocsOnly]No"
|
|
|
|
# displayName: 'Check Docs Only Change'
|
|
|
|
|
2023-08-04 21:40:20 +02:00
|
|
|
# - script: corepack enable
|
2023-01-06 02:34:16 +01:00
|
|
|
# condition: eq(variables['isDocsOnly'], 'No')
|
2023-08-04 21:40:20 +02:00
|
|
|
# displayName: 'Enable Corepack'
|
2023-01-06 02:34:16 +01:00
|
|
|
|
|
|
|
# - script: pnpm config set store-dir $(PNPM_CACHE_FOLDER)
|
|
|
|
# condition: eq(variables['isDocsOnly'], 'No')
|
|
|
|
|
|
|
|
# - script: pnpm store path
|
|
|
|
# condition: eq(variables['isDocsOnly'], 'No')
|
|
|
|
|
|
|
|
# - script: pnpm install && pnpm run build
|
|
|
|
# condition: eq(variables['isDocsOnly'], 'No')
|
|
|
|
# displayName: 'Install and build'
|
|
|
|
|
2023-01-12 02:36:52 +01:00
|
|
|
# - script: npx playwright@1.28.1 install chromium
|
2023-01-06 02:34:16 +01:00
|
|
|
# condition: eq(variables['isDocsOnly'], 'No')
|
|
|
|
|
|
|
|
# - script: |
|
|
|
|
# node run-tests.js -c 1 --debug test/e2e/app-dir/app/index.test.ts
|
|
|
|
# condition: eq(variables['isDocsOnly'], 'No')
|
|
|
|
# displayName: 'Run tests (E2E Production)'
|
|
|
|
# env:
|
|
|
|
# NEXT_TEST_MODE: 'start'
|