Refactor Azure Pipelines YAML Files (#164)

This commit is contained in:
Nick Banks 2020-02-20 13:23:13 -08:00 коммит произвёл GitHub
Родитель ce212c758e
Коммит 97b63d9a0b
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
6 изменённых файлов: 156 добавлений и 118 удалений

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

@ -1,6 +1,7 @@
#
# Continuous Integration (CI) for Internal Repository Mirror
# This pipeline builds MsQuic in all supported configurations.
# This pipeline builds, validates and packages all components necessary for
# internal Windows consumption.
#
trigger:
@ -8,16 +9,67 @@ trigger:
name: 0.$(Date:yyMM).$(DayOfMonth)$(Rev:rr).0
#
# Builds
#
stages:
- stage: build
displayName: Build
- stage: build_windows
displayName: Build Windows
dependsOn: []
jobs:
- template: ./templates/build-windows.yml
- template: ./templates/build-linux.yml
# ARM/ARM64 currently fail at linker stage.
- template: ./templates/build-config-user.yml
parameters:
image: windows-latest
platform: windows
arch: x86
tls: schannel
- template: ./templates/build-config-user.yml
parameters:
image: windows-latest
platform: windows
arch: x64
tls: schannel
- stage: build_winkernel
displayName: Build Windows Drivers
dependsOn: []
jobs:
- template: ./templates/build-config-winkernel.yml
parameters:
arch: x64
- template: ./templates/build-config-winkernel.yml
parameters:
arch: x86
- template: ./templates/build-config-winkernel.yml
parameters:
arch: arm
- template: ./templates/build-config-winkernel.yml
parameters:
arch: arm64
#
# Build Verification Tests
#
- stage: test_bvt
displayName: Build Verification Tests
dependsOn:
- build_windows
- build_linux
jobs:
- template: ./templates/run-bvt.yml
parameters:
image: windows-latest
platform: windows
arch: x64
tls: schannel
extraArgs: -Filter "ParameterValidation.*:-*Events"
#
# Packaging
#
# TODO
# TODO - Generate VPack for Windows files

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

@ -1,6 +1,6 @@
#
# Continuous Integration (CI)
# This pipeline builds and validates MsQuic in all supported configurations.
# This pipeline builds and validates MsQuic for all configurations.
#
trigger:
@ -10,33 +10,106 @@ pr:
name: 0.$(Date:yyMM).$(DayOfMonth)$(Rev:rr).0
#
# Builds
#
stages:
- stage: build
displayName: Build
- stage: build_windows
displayName: Build Windows
dependsOn: []
jobs:
- template: ./templates/build-windows.yml
- template: ./templates/build-linux.yml
# Officially supported configurations.
# ARM/ARM64 currently fail at linker stage.
- template: ./templates/build-config-user.yml
parameters:
image: windows-latest
platform: windows
arch: x86
tls: schannel
- template: ./templates/build-config-user.yml
parameters:
image: windows-latest
platform: windows
arch: x64
tls: schannel
# Other configurations.
- template: ./templates/build-config-user.yml
parameters:
image: windows-latest
platform: windows
arch: x64
tls: stub
- template: ./templates/build-config-user.yml
parameters:
image: windows-latest
platform: windows
arch: x64
tls: mitls
- stage: build_winkernel
displayName: Build Windows Drivers
dependsOn: []
jobs:
- template: ./templates/build-config-winkernel.yml
parameters:
arch: x64
- template: ./templates/build-config-winkernel.yml
parameters:
arch: x86
- template: ./templates/build-config-winkernel.yml
parameters:
arch: arm
- template: ./templates/build-config-winkernel.yml
parameters:
arch: arm64
- stage: build_linux
displayName: Build Linux
dependsOn: []
jobs:
# Officially supported configurations.
- template: ./templates/build-config-user.yml
parameters:
image: ubuntu-latest
platform: linux
arch: x64
tls: openssl
extraBuildArgs: -DisableLogs
# Other configurations.
- template: ./templates/build-config-user.yml
parameters:
image: ubuntu-latest
platform: linux
arch: x64
tls: stub
extraBuildArgs: -DisableLogs -SanitizeAddress
#
# Mirror
#
- stage: mirror
displayName: Mirror
dependsOn:
- build_windows
- build_winkernel
- build_linux
condition: and(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI'))
jobs:
- template: ./templates/sync-mirror.yml
# Tests
#
# Build Verification Tests
#
- stage: test
displayName: Test
dependsOn: build
- stage: test_bvt
displayName: Build Verification Tests
dependsOn:
- build_windows
- build_linux
jobs:
## Build Verification Tests
- template: ./templates/run-bvt.yml
parameters:
image: windows-latest
@ -44,7 +117,6 @@ stages:
arch: x64
tls: schannel
extraArgs: -Filter "ParameterValidation.*:-*Events"
- template: ./templates/run-bvt.yml
parameters:
image: windows-latest
@ -53,7 +125,6 @@ stages:
tls: mitls
logProfile: Full.Light
extraArgs: -Filter -*Unreachable/0
# OpenSSL tests are broken because they can't load on a different
# machine from where they were built.
# - template: ./templates/run-bvt.yml
@ -62,7 +133,6 @@ stages:
# platform: linux
# arch: x64
# tls: openssl
- template: ./templates/run-bvt.yml
parameters:
image: ubuntu-latest
@ -71,15 +141,22 @@ stages:
arch: x64
tls: stub
## SpinQuic
#
# SpinQuic Tests
#
- stage: spinquic
displayName: SpinQuic Tests
dependsOn:
- build_windows
- build_linux
jobs:
- template: ./templates/run-spinquic.yml
parameters:
image: windows-latest
platform: windows
arch: x64
tls: stub
- template: ./templates/run-spinquic.yml
parameters:
image: ubuntu-latest

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

@ -15,7 +15,6 @@ jobs:
steps:
- checkout: self
submodules: recursive
persistCredentials: true
- task: PowerShell@2
displayName: Build Source Code (Debug)

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

@ -10,19 +10,20 @@ jobs:
vmImage: windows-latest
steps:
- checkout: self
submodules: recursive
persistCredentials: true
- task: VSBuild@1
continueOnError: true
inputs:
solution: msquic.kernel.sln
platform: ${{ parameters.arch }}
configuration: debug
- task: VSBuild@1
continueOnError: true
inputs:
solution: msquic.kernel.sln
platform: ${{ parameters.arch }}
configuration: release
- template: ./upload-artifacts.yml
# Disable currently because the above fail.
# - template: ./upload-artifacts.yml

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

@ -1,21 +0,0 @@
#
# Builds all Linux configurations.
#
jobs:
- template: ./build-single-config.yml
parameters:
image: ubuntu-latest
platform: linux
arch: x64
tls: openssl
extraBuildArgs: -DisableLogs
- template: ./build-single-config.yml
parameters:
image: ubuntu-latest
platform: linux
arch: x64
tls: stub
extraBuildArgs: -DisableLogs -SanitizeAddress

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

@ -1,70 +0,0 @@
#
# Builds all Windows configurations.
#
jobs:
# Windows user mode
- template: ./build-single-config.yml
parameters:
image: windows-latest
platform: windows
arch: x86
tls: schannel
- template: ./build-single-config.yml
parameters:
image: windows-latest
platform: windows
arch: x64
tls: schannel
# Build currently fails at linker stage.
#- template: ./build-single-config.yml
# parameters:
# image: windows-latest
# platform: windows
# arch: arm
# tls: schannel
# Build currently fails at linker stage.
#- template: ./build-single-config.yml
# parameters:
# image: windows-latest
# platform: windows
# arch: arm64
# tls: schannel
- template: ./build-single-config.yml
parameters:
image: windows-latest
platform: windows
arch: x64
tls: stub
- template: ./build-single-config.yml
parameters:
image: windows-latest
platform: windows
arch: x64
tls: mitls
# Windows kernel mode
# Currently disabled because of Azure Pipelines support issues.
#- template: ./build-winkernel.yml
# parameters:
# arch: x64
#- template: ./build-winkernel.yml
# parameters:
# arch: x86
#- template: ./build-winkernel.yml
# parameters:
# arch: arm
#- template: ./build-winkernel.yml
# parameters:
# arch: arm64