Merged PR 781449: Add Linux PR Validation run on Ubuntu 22.04

Add a yml for Linux PR Validation run on Ubuntu 22.04 image. I make the Pool a parameter and move the stages into a template.
This commit is contained in:
Qi Wang 2024-04-26 20:11:24 +00:00
Родитель 4d94c6f77f
Коммит 7983e2242e
9 изменённых файлов: 171 добавлений и 48 удалений

Просмотреть файл

@ -2,11 +2,18 @@ parameters:
- name: BxlCommonArgs # We reuse these across jobs like a constant
type: string
- name: pool
type: object
default:
name: BuildXL-DevOpsAgents-Linux-Stateless-PME
os: linux
jobs:
- template: job-build-selfhost-base.yml
parameters:
validationName: Bootstrap
internal: true
pool: ${{ parameters.pool }}
outputs:
- output: pipelineArtifact

Просмотреть файл

@ -42,13 +42,18 @@ parameters:
type: string
default: EphemeralDatacenterWide
- name: pool
type: object
default:
name: BuildXL-DevOpsAgents-Linux-Stateless-PME
os: linux
jobs:
- job: Selfhost_${{ parameters.validationName }}
displayName: Build and Validate Selfhost (${{ parameters.validationName }})
pool:
name: BuildXL-DevOpsAgents-Linux-Stateless-PME
os: linux
pool: ${{ parameters.pool }}
timeoutInMinutes: 90
templateContext:
sdl:

Просмотреть файл

@ -1,10 +1,15 @@
parameters:
- name: pool
type: object
default:
name: BuildXL-DevOpsAgents-Linux-Stateless-PME
os: linux
jobs:
- job: TestDistributed
displayName: Test distributed build
pool:
name: BuildXL-DevOpsAgents-Linux-Stateless-PME
os: linux
pool: ${{ parameters.pool }}
variables:
- name: BootstrapLocation

Просмотреть файл

@ -2,6 +2,12 @@ parameters:
- name: BxlCommonArgs # We reuse these across jobs like a constant
type: string
- name: pool
type: object
default:
name: BuildXL-DevOpsAgents-Linux-Stateless-PME
os: linux
jobs:
- template: job-build-selfhost-base.yml
parameters:
@ -9,7 +15,8 @@ jobs:
cacheUniverse: bxlselfhostpublic
internal: false
publishTestResults: true
pool: ${{ parameters.pool }}
outputs:
- output: pipelineArtifact
targetPath: $(Build.SourcesDirectory)/Out/Logs/Bootstrap

Просмотреть файл

@ -2,6 +2,13 @@ parameters:
- name: BxlCommonArgs # We reuse these across jobs like a constant
type: string
- name: pool
type: object
default:
name: BuildXL-DevOpsAgents-Linux-Stateless-PME
os: linux
jobs:
- template: job-build-selfhost-base.yml
parameters:
@ -9,6 +16,7 @@ jobs:
cacheUniverse: bxlselfhostptrace
internal: true
publishTestResults: true
pool: ${{ parameters.pool }}
buildXLArguments: >-
--minimal

Просмотреть файл

@ -2,12 +2,20 @@ parameters:
- name: BxlCommonArgs # We reuse these across jobs like a constant
type: string
- name: pool
type: object
default:
name: BuildXL-DevOpsAgents-Linux-Stateless-PME
os: linux
jobs:
- template: job-build-selfhost-base.yml
parameters:
validationName: InternalRelease
internal: true
publishTestResults: true
pool: ${{ parameters.pool }}
distribution:
enabled: true
workerCount: 1

Просмотреть файл

@ -0,0 +1,65 @@
parameters:
- name: BuildSelfhost
type: boolean
default: true
- name: BxlCommonArgs
type: string
# We pass xunit semaphore `/p:[Sdk.BuildXL]xunitSemaphoreCount=8` to limit the number of parallel xunit pips.
# Too many xunit pips running in parallel can cause the long running ones to hang.
default: '
/logObservedFileAccesses
/logoutput:FullOutputOnError
/p:[Sdk.BuildXL]xunitSemaphoreCount=8
/forceAddExecutionPermission-
'
- name: pool
type: object
default:
name: BuildXL-DevOpsAgents-Linux-Stateless-PME
os: linux
stages:
- stage: Bootstrap_Internal
displayName: Bootstrap engine for validations
dependsOn: []
jobs:
# Build and test selfhost with BuildXL
- template: /.azdo/linux/job-bootstrap.yml@self
parameters:
BxlCommonArgs: --shared-comp ${{ parameters.BxlCommonArgs }}
pool: ${{ parameters.pool }}
- stage: Build_External
displayName: External validation
dependsOn: []
jobs:
- template: /.azdo/linux/job-external.yml@self
parameters:
BxlCommonArgs: --shared-comp ${{ parameters.BxlCommonArgs }}
pool: ${{ parameters.pool }}
- stage: Build_Internal
displayName: Internal validation
dependsOn: Bootstrap_Internal
jobs:
- template: /.azdo/linux/job-selfhost.yml@self
parameters:
BxlCommonArgs: --shared-comp ${{ parameters.BxlCommonArgs }}
pool: ${{ parameters.pool }}
- stage: Verify_PTrace
displayName: PTrace validation
dependsOn: Bootstrap_Internal
jobs:
- template: /.azdo/linux/job-ptrace.yml@self
parameters:
BxlCommonArgs: ${{ parameters.BxlCommonArgs }}
pool: ${{ parameters.pool }}
- stage: Build_Distributed
displayName: Distributed test
dependsOn: [Build_Internal, Verify_PTrace]
jobs:
- template: /.azdo/linux/job-distributed-1espt.yml@self
parameters:
pool: ${{ parameters.pool }}

Просмотреть файл

@ -21,12 +21,17 @@ parameters:
/p:[Sdk.BuildXL]xunitSemaphoreCount=8
/forceAddExecutionPermission-
'
- name: pool
type: object
default:
name: BuildXL-DevOpsAgents-Linux-Stateless-PME
os: linux
extends:
template: v1/1ES.Unofficial.PipelineTemplate.yml@1esPipelines
parameters:
pool:
name: BuildXL-DevOpsAgents-Linux-Stateless-PME
os: linux
pool: ${{ parameters.pool }}
sdl:
# Source analyses enabled by default:
# https://eng.ms/docs/cloud-ai-platform/devdiv/one-engineering-system-1es/1es-docs/1es-pipeline-templates/features/sdlanalysis/overview#behavior-in-pipelines-extending-unofficial-template
@ -45,41 +50,9 @@ extends:
os: windows
stages:
- stage: Bootstrap_Internal
displayName: Bootstrap engine for validations
dependsOn: []
jobs:
# Build and test selfhost with BuildXL
- template: /.azdo/linux/job-bootstrap.yml@self
parameters:
BxlCommonArgs: --shared-comp ${{ parameters.BxlCommonArgs }}
- stage: Build_External
displayName: External validation
dependsOn: []
jobs:
- template: /.azdo/linux/job-external.yml@self
parameters:
BxlCommonArgs: --shared-comp ${{ parameters.BxlCommonArgs }}
- stage: Build_Internal
displayName: Internal validation
dependsOn: Bootstrap_Internal
jobs:
- template: /.azdo/linux/job-selfhost.yml@self
parameters:
BxlCommonArgs: --shared-comp ${{ parameters.BxlCommonArgs }}
- stage: Verify_PTrace
displayName: PTrace validation
dependsOn: Bootstrap_Internal
jobs:
- template: /.azdo/linux/job-ptrace.yml@self
parameters:
BxlCommonArgs: ${{ parameters.BxlCommonArgs }}
- stage: Build_Distributed
displayName: Distributed test
dependsOn: [Build_Internal, Verify_PTrace]
jobs:
- template: /.azdo/linux/job-distributed-1espt.yml@self
- template: /.azdo/linux/job-stages-template.yml
parameters:
pool:
name: BuildXL-DevOpsAgents-Linux-Stateless-PME
os: linux
BxlCommonArgs: ${{ parameters.BxlCommonArgs }}

Просмотреть файл

@ -0,0 +1,45 @@
trigger: none # Explicitly scheduled for PRs
parameters:
- name: BxlCommonArgs
type: string
# We pass xunit semaphore `/p:[Sdk.BuildXL]xunitSemaphoreCount=8` to limit the number of parallel xunit pips.
# Too many xunit pips running in parallel can cause the long running ones to hang.
default: '
/logObservedFileAccesses
/logoutput:FullOutputOnError
/p:[Sdk.BuildXL]xunitSemaphoreCount=8
/forceAddExecutionPermission-
'
resources:
repositories:
- repository: 1esPipelines
type: git
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/tags/release
extends:
template: v1/1ES.Unofficial.PipelineTemplate.yml@1esPipelines
parameters:
pool:
name: BuildXL-DevOpsAgents-Linux-Stateless-PME
os: linux
demands:
- ImageOverride -equals ubuntu-22.04-PME-GPT
sdl:
sourceAnalysisPool:
name: Windows-SDL-Agents
image: Windows-SDL-Image
os: windows
stages:
- template: /.azdo/linux/job-stages-template.yml
parameters:
pool:
name: BuildXL-DevOpsAgents-Linux-Stateless-PME
os: linux
demands:
- ImageOverride -equals ubuntu-22.04-PME-GPT
BxlCommonArgs: ${{ parameters.BxlCommonArgs }}