-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Add Azure Pipelines configuration #5785
Conversation
Since this doesn't add any user-facing functionality, should I add a news entry? |
Nah |
Is there a point in duplicating Linux/Windows tests on another infrastructure? |
If the VSTS integrate works well, we might end up dropping the other infrastructure (Appveyor for instance tends to have no concurrency and is a lot slower). They can also test different Linux OSs or whatever. |
Personally, I'd be against dropping Travis (it's the standard open source CI and familiar to basically everyone). I'd be willing to drop Appveyor if VSTS proves successful, because it's so slow, but even there I'd prefer to simply make it an advisory test rather than dropping it totally, again for reasons of familiarity for contributors). |
Regarding "is there a point duplicating", I don't know. Does VSTS use a different Linux distro than Travis does? It'd be interesting to know if it did (or could), just for better coverage. |
@pfmoore I believe Travis provides 12.04 and 14.04 while Pipelines has 16.04. |
@brcrista I guess that's Ubuntu - so the same distro, just a different version? Oh well... |
The distribution does not really matter anyway, just the Python version, since tox is used, no? |
This reverts commit ef94c93. dstufft already added the 'trivial' tag to the PR.
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 had independently stumbled upon this a week back and I'm glad that someone made the time to look into this.
The Windows build times are definitely better.
As for duplication, I feel that it's probably fine, as long as there's some utility to each. (contributor familiarity, platform/OS coverage etc) I won't mind just having Azure Pipelines being the only required check for PRs, if it's covering the same things as our current setup and is overall faster than Appveyor. |
Is there support for rolling builds (AppVeyor) / auto-cancelation (Travis)? |
@benoit-pierre there's support for scheduled builds. Queued PR builds should get cancelled when new changes are pushed |
I'm inclined to merge this to at least get some real world experience with it. We can always revert it if needed. Any objections @pypa/pip-committers ? |
Not from me. |
Nor from me. |
However, from the linked page (and previously discussed, although I believe only on private email)
I'm -1 on having anything to do with scheduled builds until this limitation is removed. Open source projects simply don't have the sort of regular activity, let alone routine admin activity, that makes this a viable situation. (My understanding is that the comment there about CI builds is simply inaccurate - CI builds will run even if no-one ever visits the VSTS admin pages). |
I think that was just a confusion, Rolling Builds are what AppVeyor calls the thing where if the same PR/branch has 2 builds queued for different commits, it will only bother to test the latest commit for that PR/branch, much like the auto-cancellation feature in Travis. I think @brcrista just assumed from the name that it was a scheduling feature, and not an auto-cancellation feature. |
I don't think this would cause any issues with prepping for 18.1. Let's merge this? |
Tried to delete it, but it said some stuff about being retained by a release, which I don't currently have time to dig too far into. If you want to delete that Docs Pipeline go for it. |
Sure, I'm on it |
Ok, this checks integration is cool. |
https://github.com/pypa/pip/pull/6027/checks?check_run_id=33909124 and hit "raw output" under the test that failed. |
Although it looks like it didn't get all of the output, it only sees, it missed the "captured stdout call" output that comes after it, which shows the actual failure was an intermittent 503 error. |
Oh nice, i can re-run a build right from inside the checks output too. |
Ah great! That'll be one less thing to worry about then (like when onboarding new committers) then, once we set that up. In other news, I've probably messed up my Microsoft accounts (seems like I've messed up which username is associated with which email and all that). It's ~2am here so I'll go to sleep now and come around to that tomorrow. I probably won't be able to comment on much here rn, but then again, there's probably enough people on deck. I know that Bernát (gaborbernat) set up the CI for virtualenv on Azure Pipelines, who was telling me about it during the Bloomberg Sprints, so it might be useful to take a look at that configuration. There's also like test coverage metrics and the ability to use JUnit XML reports that then are able to present test output in the Web UI (though I doubt it'd work out of the box).
+1 |
Geez, those weren't proper sentences. Edited to actually be legible English (probably). |
Oh btw, Travis CI has checks integration on travis-ci.com (which is basically still free for OSS). |
^ blog post for the above: https://blog.travis-ci.com/2018-05-07-announcing-support-for-github-checks-api-on-travis-ci-com |
Yea, migration is just disabled at the moment. |
Ah, I'd tried it out on a new repo. |
Looks like the Package job is failing on macOS, I think we just need to add stuff to https://github.com/pypa/pip/blob/master/.azure-pipelines/jobs/package.yml#L18 though. |
#6028 Will fix it I think. |
Hmm, maybe the re-run check button doesn't work with Azure? |
@pradyunsg, here's that test view: https://dev.azure.com/pypa/pip/_build/results?buildId=2478&view=ms.vss-test-web.test-result-details I didn't set up coverage though. |
@dstufft unfortunately there's a known bug with re-run when doing a PR from a fork. We're working on a fix now |
Cool that worked. Not for nothing, but I already want ot disable Appveyor for being slow af. |
@brcrista Now that my fix is merged, can I retrigger the PRs that failed, or do they have to merge master into their branch to get the fixed pipeline yaml on their branch? |
When we build PRs we're looking at what's in their branch, so they'll need to merge master to take the change. (If someone makes a change to the build YAML in a PR, you want to make sure it doesn't break.) |
Could someone add "Pradyun Gedam <pradyunsg@gmail.com>" on Azure Devops? |
Done |
Hello \o ! Line 423 in 465261a
|
@xavfernandez Done! @cjerdonek should be added as well, if he's interested. |
Let's have any further discussion about future enhancements, current setup issues etc at #6043. |
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
As an open-source project, Pip has some free concurrent jobs to use with Azure Pipelines. I've been working with @pfmoore and @dstufft to set up build pipelines for Pip:
Build results can be viewed at https://dev.azure.com/pypa/pip/_build.