Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
28f62447
R
roslyn
项目概览
lwm1986
/
roslyn
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
roslyn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
28f62447
编写于
11月 29, 2018
作者:
J
Jared Parsons
提交者:
GitHub
11月 29, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #31224 from jaredpar/fix-integration
Azure support for VS integration tests
上级
df3ddbf2
d3685c02
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
22 addition
and
155 deletion
+22
-155
.vsts-dnceng-integration.yml
.vsts-dnceng-integration.yml
+19
-4
build/scripts/build.ps1
build/scripts/build.ps1
+3
-2
netci.groovy
netci.groovy
+0
-149
未找到文件。
.vsts-dnceng-integration.yml
浏览文件 @
28f62447
...
...
@@ -3,9 +3,15 @@ phases:
queue
:
name
:
dotnet-external-temp-vs2017
timeoutInMinutes
:
90
parallel
:
2
matrix
:
debug
:
_configuration
:
Debug
release
:
_configuration
:
Release
steps
:
-
script
:
build/scripts/cibuild.cmd -configuration
Debug
-testVsi
-
script
:
build/scripts/cibuild.cmd -configuration
$(_configuration)
-testVsi
displayName
:
Build and Test
-
task
:
PublishTestResults@1
...
...
@@ -13,14 +19,23 @@ phases:
testRunner
:
XUnit
testResultsFiles
:
'
**/xUnitResults/*.xml'
mergeTestResults
:
true
testRunTitle
:
'
Windows
Visual
Studio
Integration
Debug
'
testRunTitle
:
'
Windows
Visual
Studio
Integration
$(_configuration)
'
condition
:
succeededOrFailed()
-
task
:
PublishBuildArtifacts@1
displayName
:
Publish Logs
inputs
:
PathtoPublish
:
'
$(Build.SourcesDirectory)\Binaries\$(_configuration)\Logs'
ArtifactName
:
'
Windows
Visual
Studio
Integration
Debug
'
ArtifactName
:
'
Windows
Visual
Studio
Integration
$(_configuration)
'
publishLocation
:
Container
continueOnError
:
true
condition
:
failed(
)
condition
:
or(failed(), canceled()
)
-
task
:
PublishBuildArtifacts@1
displayName
:
Publish Screenshots
inputs
:
PathtoPublish
:
'
$(Build.SourcesDirectory)\Binaries\$(_configuration)\UnitTests\Microsoft.VisualStudio.LanguageServices.IntegrationTests\xUnitResults/'
ArtifactName
:
'
Screenshots
$(_configuration)'
publishLocation
:
Container
continueOnError
:
true
condition
:
or(failed(), canceled())
build/scripts/build.ps1
浏览文件 @
28f62447
...
...
@@ -102,6 +102,7 @@ function Process-Arguments() {
if
(
$cibuild
-and
-not
$official
-and
$anyVsi
)
{
# Avoid spending time in analyzers when requested, and also in the slowest integration test builds
$
script
:
skipAnalyzers
=
$true
$
script
:
bootstrap
=
$false
}
if
(
$testDeterminism
-and
(
$anyUnit
-or
$anyVsi
))
{
...
...
@@ -394,7 +395,7 @@ function Test-XUnit() {
if
(
$cibuild
)
{
# Use a 75 minute timeout on CI
$args
+=
" -xml -timeout:
7
5"
$args
+=
" -xml -timeout:
6
5"
}
if
(
$procdump
)
{
...
...
@@ -612,4 +613,4 @@ finally {
Stop-VSProcesses
Stop-BuildProcesses
}
}
\ No newline at end of file
}
netci.groovy
已删除
100644 → 0
浏览文件 @
df3ddbf2
// Groovy Script: http://www.groovy-lang.org/syntax.html
// Jenkins DSL: https://github.com/jenkinsci/job-dsl-plugin/wiki
import
jobs.generation.*
;
// The input project name (e.g. dotnet/corefx)
def
projectName
=
GithubProject
// The input branch name (e.g. master)
def
branchName
=
GithubBranchName
// Folder that the project jobs reside in (project/branch)
def
projectFoldername
=
Utilities
.
getFolderName
(
projectName
)
+
'/'
+
Utilities
.
getFolderName
(
branchName
)
def
windowsUnitTestMachine
=
'Windows.10.Amd64.ClientRS3.DevEx.Open'
static
void
addRoslynJob
(
def
myJob
,
String
jobName
,
String
branchName
,
Boolean
isPr
,
String
triggerPhraseExtra
,
Boolean
triggerPhraseOnly
=
false
)
{
def
archiveSettings
=
new
ArchivalSettings
()
archiveSettings
.
addFiles
(
'Binaries/**/*.pdb'
)
archiveSettings
.
addFiles
(
'Binaries/**/*.xml'
)
archiveSettings
.
addFiles
(
'Binaries/**/*.log'
)
archiveSettings
.
addFiles
(
'Binaries/**/*.dmp'
)
archiveSettings
.
addFiles
(
'Binaries/**/*.zip'
)
archiveSettings
.
addFiles
(
'Binaries/**/*.png'
)
archiveSettings
.
addFiles
(
'Binaries/**/*.buildlog'
)
archiveSettings
.
addFiles
(
'Binaries/**/*.binlog'
)
archiveSettings
.
excludeFiles
(
'Binaries/Obj/**'
)
archiveSettings
.
excludeFiles
(
'Binaries/Bootstrap/**'
)
archiveSettings
.
excludeFiles
(
'Binaries/**/nuget*.zip'
)
// Only archive if failed/aborted
archiveSettings
.
setArchiveOnFailure
()
archiveSettings
.
setFailIfNothingArchived
()
Utilities
.
addArchival
(
myJob
,
archiveSettings
)
// Create the standard job. This will setup parameter, SCM, timeout, etc ...
def
projectName
=
'dotnet/roslyn'
// Need to setup the triggers for the job
if
(
isPr
)
{
// Note the use of ' vs " for the 4th argument. We don't want groovy to interpolate this string (the ${ghprbPullId}
// is resolved when the job is run based on an environment variable set by the Jenkins Pull Request Builder plugin.
Utilities
.
standardJobSetupPR
(
myJob
,
projectName
,
null
,
'+refs/pull/${ghprbPullId}/*:refs/remotes/origin/pr/${ghprbPullId}/*'
);
def
triggerCore
=
"open|all|${jobName}"
if
(
triggerPhraseExtra
)
{
triggerCore
=
"${triggerCore}|${triggerPhraseExtra}"
}
def
triggerPhrase
=
"(?im)^\\s*(@?dotnet-bot\\,?\\s+)?(re)?test\\s+(${triggerCore})(\\s+please\\.?)?\\s*\$"
;
def
contextName
=
jobName
Utilities
.
addGithubPRTriggerForBranch
(
myJob
,
branchName
,
contextName
,
triggerPhrase
,
triggerPhraseOnly
)
}
else
{
Utilities
.
standardJobSetupPush
(
myJob
,
projectName
,
"*/${branchName}"
);
Utilities
.
addGithubPushTrigger
(
myJob
)
// TODO: Add once external email sending is available again
// addEmailPublisher(myJob)
}
}
// True when this is a PR job, false for commit. On feature branches we do PR jobs only.
def
commitPullList
=
[
false
,
true
]
if
(
branchName
.
startsWith
(
"features/"
))
{
commitPullList
=
[
true
]
}
// Mac
commitPullList
.
each
{
isPr
->
def
jobName
=
Utilities
.
getFullJobName
(
projectName
,
"mac_debug"
,
isPr
)
def
myJob
=
job
(
jobName
)
{
description
(
"Mac tests"
)
steps
{
shell
(
"./build/scripts/cibuild.sh --configuration Debug"
)
}
}
def
triggerPhraseOnly
=
true
def
triggerPhraseExtra
=
"mac"
Utilities
.
setMachineAffinity
(
myJob
,
'OSX10.12'
,
'latest-or-auto'
)
Utilities
.
addXUnitDotNETResults
(
myJob
,
'**/xUnitResults/*.xml'
)
addRoslynJob
(
myJob
,
jobName
,
branchName
,
isPr
,
triggerPhraseExtra
,
triggerPhraseOnly
)
}
// VS Integration Tests
commitPullList
.
each
{
isPr
->
[
'debug'
,
'release'
].
each
{
configuration
->
[
'vs-integration'
].
each
{
buildTarget
->
def
jobName
=
Utilities
.
getFullJobName
(
projectName
,
"windows_${configuration}_${buildTarget}"
,
isPr
)
def
myJob
=
job
(
jobName
)
{
description
(
"Windows ${configuration} tests on ${buildTarget}"
)
steps
{
batchFile
(
""".\\build\\scripts\\cibuild.cmd -configuration ${configuration} -testVsi"""
)
}
}
def
triggerPhraseOnly
=
false
def
triggerPhraseExtra
=
""
Utilities
.
setMachineAffinity
(
myJob
,
'Windows.10.Amd64.ClientRS4.DevEx.15.8.Open'
)
Utilities
.
addXUnitDotNETResults
(
myJob
,
'**/xUnitResults/*.xml'
)
addRoslynJob
(
myJob
,
jobName
,
branchName
,
isPr
,
triggerPhraseExtra
,
triggerPhraseOnly
)
}
}
}
// Loc status check
commitPullList
.
each
{
isPr
->
// Add the check for PR builds, and dev15.8.x/dev15.8.x-vs-deps builds.
if
(
isPr
||
branchName
==
"dev15.8.x"
||
branchName
==
"dev15.8.x-vs-deps"
)
{
def
jobName
=
Utilities
.
getFullJobName
(
projectName
,
"windows_loc_status"
,
isPr
)
def
myJob
=
job
(
jobName
)
{
description
(
'Check for untranslated resources'
)
steps
{
batchFile
(
""".\\build\\scripts\\check-loc-status.cmd"""
)
}
}
// Run it automatically on CI builds but only when requested on PR builds.
def
triggerPhraseOnly
=
isPr
def
triggerPhraseExtra
=
"loc"
Utilities
.
setMachineAffinity
(
myJob
,
windowsUnitTestMachine
)
addRoslynJob
(
myJob
,
jobName
,
branchName
,
isPr
,
triggerPhraseExtra
,
triggerPhraseOnly
)
}
}
// Loc change check
commitPullList
.
each
{
isPr
->
// This job blocks PRs with loc changes, so only activate it for PR builds of
// release branches after a loc freeze.
if
(
isPr
&&
(
branchName
==
"dev15.8.x"
||
branchName
==
"dev15.8.x-vs-deps"
))
{
def
jobName
=
Utilities
.
getFullJobName
(
projectName
,
"windows_loc_changes"
,
isPr
)
def
myJob
=
job
(
jobName
)
{
description
(
'Validate that a PR contains no localization changes'
)
steps
{
batchFile
(
""".\\build\\scripts\\check-for-loc-changes.cmd -base origin/${branchName} -head %GIT_COMMIT%"""
)
}
}
def
triggerPhraseOnly
=
false
def
triggerPhraseExtra
=
"loc changes"
Utilities
.
setMachineAffinity
(
myJob
,
windowsUnitTestMachine
)
addRoslynJob
(
myJob
,
jobName
,
branchName
,
isPr
,
triggerPhraseExtra
,
triggerPhraseOnly
)
}
}
JobReport
.
Report
.
generateJobReport
(
out
)
// Make the call to generate the help job
Utilities
.
createHelperJob
(
this
,
projectName
,
branchName
,
"Welcome to the ${projectName} Repository"
,
// This is prepended to the help message
"Have a nice day!"
)
// This is appended to the help message. You might put known issues here.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录