forked from dotnet/corefx
-
Notifications
You must be signed in to change notification settings - Fork 2
/
.azure-ci.yml
125 lines (111 loc) · 4.6 KB
/
.azure-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# Setting batch to true, triggers one build at a time.
# if there is a push while a build in progress, it will wait,
# until the running build finishes, and produce a build with all the changes
# that happened during the last build.
trigger:
batch: true
branches:
include:
- master
- release/3.*
- internal/release/3.*
paths:
exclude:
- Documentation/*
- /*.md
pr:
branches:
include:
- master
- release/3.*
- internal/release/3.*
paths:
exclude:
- Documentation/*
- /*.md
resources:
containers:
- container: rhel7_container
image: microsoft/dotnet-buildtools-prereqs:rhel7_prereqs_2
- container: rhel6_container
image: microsoft/dotnet-buildtools-prereqs:centos-6-376e1a3-20174311014331
- container: alpine_36_container
image: microsoft/dotnet-buildtools-prereqs:alpine-3.6-WithNode-f4d3fe3-20181213005010
- container: alpine_37_arm64_container
image: microsoft/dotnet-buildtools-prereqs:ubuntu-16.04-cross-arm64-alpine10fcdcf-20190208200917
- container: ubuntu_1604_arm64_cross_container
image: microsoft/dotnet-buildtools-prereqs:ubuntu-16.04-cross-arm64-a3ae44b-20180315221921
- container: ubuntu_1604_arm_cross_container
image: microsoft/dotnet-buildtools-prereqs:ubuntu-16.04-cross-ef0ac75-20175511035548
variables:
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest')) }}:
- group: DotNet-Blob-Feed
- group: corefx-sdl-validation
- name: _dotnetFeedUrl
value: https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
- name: _PublishUsingPipelines
value: true
- name: _DotNetArtifactsCategory
value: .NETCore
- name: _DotNetValidationArtifactsCategory
value: .NETCore
- ${{ if ne(variables['System.TeamProject'], 'public') }}:
- group: DotNet-MSRC-Storage
- name: _InternalRuntimeDownloadArgs
value: /p:DotNetRuntimeSourceFeed=https://dotnetclimsrc.blob.core.windows.net/dotnet
/p:DotNetRuntimeSourceFeedKey=$(dotnetclimsrc-read-sas-token-base64)
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- name: _InternalRuntimeDownloadArgs
value: ''
stages:
# Windows legs
- template: /eng/pipelines/windows.yml
parameters:
isOfficialBuild: ${{ and(ne(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest')) }}
isInternalBuild: ${{ ne(variables['System.TeamProject'], 'public') }}
fullMatrix: true
# Linux legs
- template: /eng/pipelines/linux.yml
parameters:
isOfficialBuild: ${{ and(ne(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest')) }}
isInternalBuild: ${{ ne(variables['System.TeamProject'], 'public') }}
fullMatrix: true
# MacOS legs
- template: /eng/pipelines/macos.yml
parameters:
isOfficialBuild: ${{ and(ne(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest')) }}
isInternalBuild: ${{ ne(variables['System.TeamProject'], 'public') }}
fullMatrix: true
# FreeBSD leg is only for official builds
# - template: /eng/pipelines/freebsd.yml
# parameters:
# isOfficialBuild: ${{ and(ne(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest')) }}
# isInternalBuild: ${{ ne(variables['System.TeamProject'], 'public') }}
# fullMatrix: ${{ notIn(variables['Build.Reason'], 'PullRequest') }}
# Publish and validation steps. Only run in official builds
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notIn(variables['Build.Reason'], 'PullRequest')) }}:
- template: /eng/pipelines/pre-publish.yml
parameters:
dependsOn:
- WindowsStage
- LinuxStage
- MacOSStage
# - FreeBSD
- template: eng\common\templates\post-build\post-build.yml
parameters:
dependsOn:
- PrePublish
enableSymbolValidation: false # https://github.com/dotnet/arcade/issues/2871
enableSourceLinkValidation: false # https://github.com/dotnet/arcade/issues/3603
SDLValidationParameters:
enable: false
params: ' -SourceToolsList @("policheck","credscan")
-TsaInstanceURL "$(TsaInstanceURL)"
-TsaProjectName "$(TsaProjectName)"
-TsaNotificationEmail "$(TsaNotificationEmail)"
-TsaCodebaseAdmin "$(TsaCodebaseAdmin)"
-TsaBugAreaPath "$(TsaBugAreaPath)"
-TsaIterationPath "$(TsaIterationPath)"
-TsaRepositoryName "CoreFX"
-TsaCodebaseName "CoreFX"
-TsaPublish $True'