178 строки
7.2 KiB
YAML
178 строки
7.2 KiB
YAML
# Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
# Licensed under the MIT License.
|
|
|
|
# test-real-service-e2e pipeline
|
|
|
|
name: $(Build.BuildId)
|
|
|
|
trigger: none
|
|
pr: none
|
|
|
|
resources:
|
|
pipelines:
|
|
- pipeline: client # Name of the pipeline resource
|
|
source: Build - client packages
|
|
branch: main # Default branch for manual/scheduled triggers if none is selected
|
|
trigger:
|
|
branches:
|
|
- release/*
|
|
- main
|
|
- next
|
|
- lts
|
|
|
|
variables:
|
|
- group: prague-key-vault
|
|
- name: testWorkspace
|
|
value: $(Pipeline.Workspace)/test
|
|
- name: testPackage
|
|
value: "@fluid-private/test-end-to-end-tests"
|
|
readonly: true
|
|
- name: absolutePathToTelemetryGenerator
|
|
value: $(Build.SourcesDirectory)/tools/telemetry-generator
|
|
readonly: true
|
|
- name: pipelineIdentifierForTelemetry
|
|
value: 'EndToEndTests'
|
|
readonly: true
|
|
# This is a test pipeline, not a build one, so we don't need to run CodeQL tasks
|
|
- name: DisableCodeQL
|
|
value: true
|
|
|
|
lockBehavior: sequential
|
|
stages:
|
|
|
|
- template: templates/include-test-real-service.yml
|
|
parameters:
|
|
stageId: e2e_local_server
|
|
stageDisplayName: e2e - local server
|
|
poolBuild: Large-eastus2 # Need Large pool for full-compat matrix
|
|
testPackage: ${{ variables.testPackage }}
|
|
testWorkspace: ${{ variables.testWorkspace }}
|
|
artifactBuildId: $(resources.pipeline.client.runID)
|
|
testCommand: test:realsvc:local:report:full
|
|
cacheCompatVersionsInstalls: true
|
|
uploadTestPassRateTelemetry: true
|
|
pipelineIdentifierForTelemetry: ${{ variables.pipelineIdentifierForTelemetry }}
|
|
env:
|
|
FLUID_TEST_LOGGER_PKG_PATH: ${{ variables.testWorkspace }}/node_modules/@ff-internal/aria-logger # Contains getTestLogger impl to inject
|
|
FLUID_LOGGER_PROPS: '{ "displayName": "${{variables.pipelineIdentifierForTelemetry}}"}'
|
|
|
|
# end-to-end tests tinylicious
|
|
- template: templates/include-test-real-service.yml
|
|
parameters:
|
|
stageId: e2e_tinylicious
|
|
stageDisplayName: e2e - tinylicious
|
|
poolBuild: Large-eastus2 # Need Large pool for full-compat matrix
|
|
testPackage: ${{ variables.testPackage }}
|
|
testWorkspace: ${{ variables.testWorkspace }}
|
|
artifactBuildId: $(resources.pipeline.client.runID)
|
|
testCommand: test:realsvc:tinylicious:report:full
|
|
cacheCompatVersionsInstalls: true
|
|
# TODO: AB#8968 tracks figuring out the root cause of the extended delay, and restoring this timeout to 90m or less
|
|
timeoutInMinutes: 120
|
|
uploadTestPassRateTelemetry: true
|
|
pipelineIdentifierForTelemetry: ${{ variables.pipelineIdentifierForTelemetry }}
|
|
env:
|
|
FLUID_TEST_LOGGER_PKG_PATH: ${{ variables.testWorkspace }}/node_modules/@ff-internal/aria-logger # Contains getTestLogger impl to inject
|
|
FLUID_LOGGER_PROPS: '{ "displayName": "${{variables.pipelineIdentifierForTelemetry}}"}'
|
|
# Disable colorization for tinylicious logs (not useful when printing to a file)
|
|
logger__colorize: "false" # Need to pass it as string so ADO doesn't convert it into False (capital F) which doesn't work
|
|
logger__morganFormat: tiny
|
|
|
|
# end-to-end tests routerlicious
|
|
- template: templates/include-test-real-service.yml
|
|
parameters:
|
|
stageId: e2e_routerlicious
|
|
stageDisplayName: e2e - routerlicious
|
|
poolBuild: Small-eastus2
|
|
testPackage: ${{ variables.testPackage }}
|
|
testWorkspace: ${{ variables.testWorkspace }}
|
|
artifactBuildId: $(resources.pipeline.client.runID)
|
|
testCommand: test:realsvc:routerlicious:report
|
|
continueOnError: true
|
|
r11sSelfSignedCertSecureFile: wu2-tls-certificate.pem
|
|
stageVariables:
|
|
- group: e2e-r11s-lock
|
|
splitTestVariants:
|
|
- name: Non-compat
|
|
flags: --compatVersion=0
|
|
- name: N-1
|
|
flags: --compatVersion=-1
|
|
- name: LTS
|
|
flags: --compatVersion=LTS
|
|
- name: Cross-version
|
|
flags: --compatVersion=CROSS_VERSION
|
|
cacheCompatVersionsInstalls: true
|
|
uploadTestPassRateTelemetry: true
|
|
pipelineIdentifierForTelemetry: ${{ variables.pipelineIdentifierForTelemetry }}
|
|
env:
|
|
fluid__test__driver__r11s: $(automation-fluid-test-driver-r11s)
|
|
FLUID_TEST_LOGGER_PKG_PATH: ${{ variables.testWorkspace }}/node_modules/@ff-internal/aria-logger # Contains getTestLogger impl to inject
|
|
FLUID_LOGGER_PROPS: '{ "displayName": "${{variables.pipelineIdentifierForTelemetry}}"}'
|
|
|
|
# end-to-end tests frs
|
|
- template: templates/include-test-real-service.yml
|
|
parameters:
|
|
stageId: e2e_frs
|
|
stageDisplayName: e2e - frs
|
|
poolBuild: Small-eastus2
|
|
testPackage: ${{ variables.testPackage }}
|
|
testWorkspace: ${{ variables.testWorkspace }}
|
|
artifactBuildId: $(resources.pipeline.client.runID)
|
|
timeoutInMinutes: 360
|
|
continueOnError: true
|
|
testCommand: test:realsvc:frs:report
|
|
r11sSelfSignedCertSecureFile: wu2-tls-certificate.pem
|
|
stageVariables:
|
|
- group: e2e-frs-lock
|
|
splitTestVariants:
|
|
- name: Non-compat
|
|
flags: --compatVersion=0
|
|
- name: N-1
|
|
flags: --compatVersion=-1
|
|
- name: LTS
|
|
flags: --compatVersion=LTS
|
|
- name: Cross-Version
|
|
flags: --compatVersion=CROSS_VERSION
|
|
cacheCompatVersionsInstalls: true
|
|
uploadTestPassRateTelemetry: true
|
|
pipelineIdentifierForTelemetry: ${{ variables.pipelineIdentifierForTelemetry }}
|
|
env:
|
|
fluid__test__driver__frs: $(automation-fluid-test-driver-frs)
|
|
FLUID_TEST_LOGGER_PKG_PATH: ${{ variables.testWorkspace }}/node_modules/@ff-internal/aria-logger # Contains getTestLogger impl to inject
|
|
FLUID_LOGGER_PROPS: '{ "displayName": "${{variables.pipelineIdentifierForTelemetry}}"}'
|
|
|
|
# end-to-end tests odsp
|
|
- template: templates/include-test-real-service.yml
|
|
parameters:
|
|
stageId: e2e_odsp
|
|
stageDisplayName: e2e - odsp
|
|
poolBuild: Small-eastus2
|
|
testPackage: ${{ variables.testPackage }}
|
|
testWorkspace: ${{ variables.testWorkspace }}
|
|
artifactBuildId: $(resources.pipeline.client.runID)
|
|
timeoutInMinutes: 360
|
|
continueOnError: true
|
|
testCommand: test:realsvc:odsp:report
|
|
stageVariables:
|
|
- group: e2e-odsp-lock
|
|
splitTestVariants:
|
|
- name: Non-compat
|
|
flags: --compatVersion=0 --tenantIndex=0
|
|
- name: N-1
|
|
flags: --compatVersion=-1 --tenantIndex=1
|
|
- name: Cross-Version
|
|
flags: --compatVersion=CROSS_VERSION
|
|
# Assumes Non-compat and N-1 scenarios are covered
|
|
# Tests N-2 to LTS+1 back compat for loader
|
|
# Tests N-2 to LTS+3 back compat for loader + driver
|
|
- name: N-2ToLTS+1-back-compat
|
|
flags: --compatVersion=V2_INT_3 --tenantIndex=3
|
|
cacheCompatVersionsInstalls: true
|
|
uploadTestPassRateTelemetry: true
|
|
pipelineIdentifierForTelemetry: ${{ variables.pipelineIdentifierForTelemetry }}
|
|
env:
|
|
login__microsoft__clientId: $(login-microsoft-clientId)
|
|
login__odsp__test__tenants: $(automation-e2e-login-odsp-test-tenants)
|
|
FLUID_TEST_LOGGER_PKG_PATH: ${{ variables.testWorkspace }}/node_modules/@ff-internal/aria-logger # Contains getTestLogger impl to inject
|
|
FLUID_LOGGER_PROPS: '{ "displayName": "${{variables.pipelineIdentifierForTelemetry}}"}'
|