-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Move Windows and Linux CI to VSTS #566
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@dotnet-bot test ci please |
This is the CI build in VSTS: |
@@ -0,0 +1,21 @@ | |||
resources: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we move this file from the root of the repo and instead put it in the build
folder?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left it in the root because if it is in the root we get Resource Authorization automatically:
https://github.com/Microsoft/vsts-agent/blob/master/docs/preview/yamlgettingstarted-authz.md
They do have plans on supporting directory structure for this though:
microsoft/azure-pipelines-agent#1430
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is unfortunate.
.vsts-dotnet-ci.yml
Outdated
phases: | ||
- template: /build/ci/phase-template.yml | ||
parameters: | ||
name: RHEL7 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's name this leg the "Linux" leg. RHEL7 is sort of a lie because we are using CentOS.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, sounds good.
We will need to update these build badges: https://github.com/dotnet/machinelearning/blob/master/README.md#building |
displayName: Publish Test Results | ||
condition: succeededOrFailed() | ||
inputs: | ||
testRunner: 'vSTest' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
vSTest [](start = 21, length = 6)
don't we use xUnit tests, or they interchangeable?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We use xunit as a framework, but we use VSTest as our test runner:
https://github.com/dotnet/machinelearning/blob/master/test/run-tests.proj#L10
Yup, you're right. Will update them. |
|
||
- template: /build/ci/phase-template.yml | ||
parameters: | ||
name: Windows_NT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Windows_NT [](start = 10, length = 10)
I obviously don't have knowleage regarding build system, but from what I see we have 4 nodes in VSTS where Windows_NT is not running, and also Windows builds on jenkins.
Is it intended?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So the jenkins Windows builds will stop showing up after I merge this PR. They keep showing because it takes the checked-in netci.groovy file instead of taking the one in this PR.
About the VSTS nodes, you can see here: https://dotnet.visualstudio.com/public/_build/results?buildId=7047&view=logs that the new Build Def, will run Linux and Windows in both Release and Debug mode simultaneously.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it, thank you for clarification.
Build definition seems to be correct now. Test results are displayed correctly now and builds are passing. Badges are pointing to master branch, however there hasn't been a master branch yet, so once this is merged the badges should point to the right build definition. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
resources: | ||
containers: | ||
- container: centos7 | ||
image: microsoft/dotnet-buildtools-prereqs:centos-7-b46d863-20180719033416 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dotnet-buildtools-prereqs:centos-7-b46d863-20180719033416 [](start = 21, length = 57)
does this docker image contains libgdiplus?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://ci2.dot.net/job/Private/job/dotnet_machinelearning/job/master/job/linux_release_prtest/1240/testReport/junit/(root)/(empty)/Microsoft_ML_Tests_ImageTests_TestBackAndForthConversion/
I've merge master into my image branch, but it still failing on linux.
In reply to: 204483166 [](ancestors = 204483166)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I’m trying to build and run the tests locally in my computer with the same container. I’ll update you. Using your branch of course
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The tests that you added passed in my machine when using that docker image. I just need to dig why they are failing in VSTS, maybe not picking the right docker image. I'll update you.
* Remove Windows and Linux configurations from netci.groovy * Add end of line to yml files * Add badges and change leg name to Linux * Not merge test results * Add searchFolder to publish test results task
* Remove Windows and Linux configurations from netci.groovy * Add end of line to yml files * Add badges and change leg name to Linux * Not merge test results * Add searchFolder to publish test results task
cc: @eerhardt