Skip to content

Commit 1637c7b

Browse files
author
William Li
committed
Use Aracde to build
Instead of Repotoolset
1 parent c9450cb commit 1637c7b

File tree

102 files changed

+5220
-897
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

102 files changed

+5220
-897
lines changed

.gitignore

+126-31
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,149 @@
1-
###############################################################################
2-
# Build Artifacts
3-
###############################################################################
1+
syntax: glob
2+
3+
### VisualStudio ###
4+
5+
# Tools directory
6+
/[Tt]ools/
7+
.dotnet/
8+
.packages/
9+
10+
# User-specific files
11+
*.suo
12+
*.user
13+
*.userosscache
14+
*.sln.docstates
15+
launchSettings.json
16+
17+
# Build results
18+
419
artifacts/
20+
[Dd]ebug/
21+
[Rr]elease/
22+
x64/
23+
x86/ !eng/common/cross/x86/
24+
[Bb]in/
25+
[Oo]bj/
26+
msbuild.log
27+
msbuild.err
28+
msbuild.wrn
29+
msbuild.binlog
530

6-
###############################################################################
7-
# Default Artifacts
8-
###############################################################################
9-
bin/
10-
obj/
31+
# Visual Studio 2015
32+
.vs/
1133

12-
###############################################################################
13-
# OS X Device Services Store
14-
###############################################################################
15-
.DS_Store
34+
# Visual Studio 2015 Pre-CTP6
35+
*.sln.ide
36+
*.ide/
37+
38+
# MSTest test Results
39+
[Tt]est[Rr]esult*/
40+
[Bb]uild[Ll]og.*
1641

17-
###############################################################################
18-
# Test Artifacts
19-
###############################################################################
42+
#NUNIT
43+
*.VisualState.xml
2044
TestResult.xml
2145

22-
###############################################################################
23-
# Visual Studio
24-
###############################################################################
25-
.vs/
46+
# ReSharper is a .NET coding add-in
47+
_ReSharper*/
48+
*.[Rr]e[Ss]harper
49+
*.DotSettings.user
50+
51+
# DotCover is a Code Coverage Tool
52+
*.dotCover
53+
54+
# NuGet Packages
55+
*.nuget.props
56+
*.nuget.targets
57+
*.nupkg
58+
**/packages/*
59+
60+
### Windows ###
2661

27-
###############################################################################
28-
# Misc.
29-
###############################################################################
30-
*.DotSettings
62+
# Windows image file caches
63+
Thumbs.db
64+
ehthumbs.db
65+
66+
# Folder config file
67+
Desktop.ini
68+
69+
# Recycle Bin used on file shares
70+
$RECYCLE.BIN/
71+
72+
# Windows Installer files
73+
*.cab
74+
*.msi
75+
*.msm
76+
*.msp
77+
78+
# Windows shortcuts
3179
*.lnk
80+
81+
### Linux ###
82+
83+
*~
84+
85+
# KDE directory preferences
86+
.directory
87+
88+
### OSX ###
89+
90+
.DS_Store
91+
.AppleDouble
92+
.LSOverride
93+
94+
# Icon must end with two \r
95+
Icon
96+
97+
# Thumbnails
98+
._*
99+
100+
# Files that might appear on external disk
101+
.Spotlight-V100
102+
.Trashes
103+
104+
# Directories potentially created on remote AFP share
105+
.AppleDB
106+
.AppleDesktop
107+
Network Trash Folder
108+
Temporary Items
109+
.apdisk
110+
111+
# vim temporary files
112+
[._]*.s[a-w][a-z]
113+
[._]s[a-w][a-z]
114+
*.un~
115+
Session.vim
116+
.netrwhist
117+
*~
118+
119+
# Visual Studio Code
120+
.vscode/
121+
122+
# Private test configuration and binaries.
123+
config.ps1
124+
**/IISApplications
125+
126+
127+
# Node.js modules
128+
node_modules/
129+
130+
# Python Compile Outputs
131+
132+
*.pyc
133+
134+
# Miscellaneous
32135
*.log
33136
*.ncrunchproject
34137
*.ncrunchsolution
35-
*.nupkg
36138
*.psess
37139
*.ReSharper
38-
*.suo
39140
*.Tests/lib/
40-
*.user
41141
*.userprefs
42142
*.vsp
43143
*.xml
44-
.dotnet
45-
.nuget
46144
.idea
47-
.vs
48-
.vscode
49145
_NCrunch_*/
50146
_ReSharper.*/
51147
buildlog.txt
52148
nCrunchTemp*
53-
packages/
54149
TestResults/

.vsts-ci.yml

+130-61
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,137 @@
1-
resources:
2-
- repo: self
3-
clean: true
4-
queue:
5-
name: VSEng-MicroBuildVS2017
6-
demands: Cmd
71
variables:
8-
BuildConfiguration: Release
9-
TeamName: Roslyn
2+
- name: _TeamName
3+
value: DotNetCore
104

11-
steps:
12-
- task: ms-vseng.MicroBuildTasks.30666190-6959-11e5-9f96-f56098202fef.MicroBuildSigningPlugin@1
13-
displayName: Install Signing Plugin
14-
inputs:
15-
signType: real
16-
esrpSigning: true
17-
condition: and(succeeded(), eq(variables['PB_SignType'], 'real'))
5+
# CI and PR triggers
6+
trigger:
7+
batch: true
8+
branches:
9+
include:
10+
- master
1811

19-
- task: BatchScript@1
20-
displayName: Build
21-
inputs:
22-
filename: 'build\cibuild.cmd'
23-
arguments: '-configuration $(BuildConfiguration) /p:PB_PublishBlobFeedKey=$(PB_PublishBlobFeedKey)'
12+
pr:
13+
autoCancel: false
14+
branches:
15+
include:
16+
- '*'
2417

25-
- task: PublishTestResults@2
26-
displayName: Publish Test Results
27-
inputs:
28-
testRunner: XUnit
29-
testResultsFiles: 'artifacts/$(BuildConfiguration)/TestResults/*.xml'
30-
mergeTestResults: true
31-
testRunTitle: 'Unit Tests'
32-
condition: and(succeededOrFailed(), ne(variables['PB_SkipTests'], 'true'))
18+
jobs:
19+
- template: /eng/common/templates/jobs/jobs.yml
20+
parameters:
21+
enableMicrobuild: true
22+
enablePublishBuildArtifacts: true
23+
enablePublishTestResults: true
24+
enablePublishBuildAssets: true
25+
enableTelemetry: true
26+
helixRepo: dotnet/command-line-api
27+
timeoutInMinutes: 180 # increase timeout since BAR publishing might wait a long time
28+
jobs:
29+
- job: Windows
30+
pool:
31+
# For public or PR jobs, use the hosted pool. For internal jobs use the internal pool.
32+
# Will eventually change this to two BYOC pools.
33+
${{ if ne(variables['System.TeamProject'], 'internal') }}:
34+
name: dotnet-external-temp
35+
${{ if eq(variables['System.TeamProject'], 'internal') }}:
36+
name: dotnet-internal-temp
37+
variables:
38+
# Only enable publishing in official builds.
39+
- ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
40+
# DotNet-Blob-Feed provides: dotnetfeed-storage-access-key-1
41+
# Publish-Build-Assets provides: MaestroAccessToken, BotAccount-dotnet-maestro-bot-PAT
42+
- group: DotNet-Blob-Feed
43+
- group: Publish-Build-Assets
44+
- name: _OfficialBuildArgs
45+
value: /p:DotNetSignType=$(_SignType)
46+
/p:TeamName=$(_TeamName)
47+
/p:DotNetPublishBlobFeedKey=$(dotnetfeed-storage-access-key-1)
48+
/p:DotNetPublishBlobFeedUrl=https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
49+
/p:DotNetPublishToBlobFeed=$(_DotNetPublishToBlobFeed)
50+
/p:OfficialBuildId=$(BUILD.BUILDNUMBER)
51+
# else
52+
- ${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
53+
- name: _OfficialBuildArgs
54+
value: ''
55+
strategy:
56+
matrix:
57+
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
58+
Debug:
59+
_BuildConfig: Debug
60+
_SignType: test
61+
_DotNetPublishToBlobFeed: false
62+
_BuildArgs:
3363

34-
- task: NuGetCommand@2
35-
displayName: Publish NuGet Packages to MyGet
36-
inputs:
37-
command: push
38-
packagesToPush: 'artifacts\$(BuildConfiguration)\packages\*.nupkg'
39-
nuGetFeedType: external
40-
publishFeedCredentials: 'dotnet.myget.org/system-commandline'
41-
condition: and(succeeded(), not(contains(variables['PB_PublishType'], 'blob')))
64+
Release:
65+
_BuildConfig: Release
66+
# PRs or external builds are not signed.
67+
${{ if or(eq(variables['System.TeamProject'], 'public'), in(variables['Build.Reason'], 'PullRequest')) }}:
68+
_SignType: test
69+
_DotNetPublishToBlobFeed: false
70+
${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
71+
_SignType: real
72+
_DotNetPublishToBlobFeed: true
73+
_BuildArgs: $(_OfficialBuildArgs)
74+
steps:
75+
- checkout: self
76+
clean: true
77+
- script: eng\common\cibuild.cmd
78+
-configuration $(_BuildConfig)
79+
-prepareMachine
80+
$(_BuildArgs)
81+
displayName: Build and Publish
82+
- task: PublishBuildArtifacts@1
83+
displayName: Upload package artifacts
84+
condition: and(eq(variables['system.pullrequest.isfork'], false), eq(variables['_BuildConfig'], 'Release'))
85+
inputs:
86+
pathtoPublish: artifacts/packages/
87+
artifactName: artifacts
88+
artifactType: Container
89+
parallel: true
4290

43-
- task: CopyPublishBuildArtifacts@1
44-
displayName: Publish Artifacts
45-
inputs:
46-
CopyRoot: '$(Build.SourcesDirectory)'
47-
Contents: |
48-
artifacts\$(BuildConfiguration)\bin
49-
artifacts\$(BuildConfiguration)\log
50-
artifacts\$(BuildConfiguration)\TestResults
51-
artifacts\$(BuildConfiguration)\packages
52-
ArtifactName: '$(Build.BuildNumber)'
53-
ArtifactType: FilePath
54-
TargetPath: '$(DropRoot)\$(TeamName)\$(Build.DefinitionName)'
55-
condition: and(succeededOrFailed(), not(contains(variables['PB_PublishType'], 'blob')))
91+
- job: Ubuntu_16_04
92+
displayName: 'Ubuntu 16.04'
93+
pool:
94+
name: Hosted Ubuntu 1604
95+
vmImage: ubuntu-16.04
96+
strategy:
97+
matrix:
98+
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
99+
Debug:
100+
_BuildConfig: Debug
101+
_SignType: none
102+
_DotNetPublishToBlobFeed : false
103+
Release:
104+
_BuildConfig: Release
105+
_SignType: none
106+
_DotNetPublishToBlobFeed : false
107+
steps:
108+
- checkout: self
109+
clean: true
110+
- script: eng/common/cibuild.sh
111+
--configuration $(_BuildConfig)
112+
--prepareMachine
113+
displayName: Build
56114

57-
- task: ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1
58-
displayName: Cleanup
59-
condition: succeededOrFailed()
60-
61-
- task: PublishBuildArtifacts@1
62-
displayName: Publish MicroBuild Artifacts
63-
inputs:
64-
PathtoPublish: '$(Build.ArtifactStagingDirectory)\MicroBuild\Output'
65-
ArtifactName: '$(Build.BuildNumber)'
66-
publishLocation: FilePath
67-
TargetPath: '$(DropRoot)\$(TeamName)\$(Build.DefinitionName)'
68-
condition: and(succeededOrFailed(), not(contains(variables['PB_PublishType'], 'blob')))
115+
- job: OSX_10_13
116+
displayName: 'OSX'
117+
pool:
118+
name: Hosted macOS
119+
vmImage: macOS-10.13
120+
strategy:
121+
matrix:
122+
${{ if in(variables['Build.Reason'], 'PullRequest') }}:
123+
Debug:
124+
_BuildConfig: Debug
125+
_SignType: none
126+
_DotNetPublishToBlobFeed : false
127+
Release:
128+
_BuildConfig: Release
129+
_SignType: none
130+
_DotNetPublishToBlobFeed : false
131+
steps:
132+
- checkout: self
133+
clean: true
134+
- script: eng/common/cibuild.sh
135+
--configuration $(_BuildConfig)
136+
--prepareMachine
137+
displayName: Build

0 commit comments

Comments
 (0)