CI: Some Azure Pipelines cleanups
State: closed

Hey all, I'm a PM on Azure Pipelines. I noticed you had some comments in your `azure-pipelines.yml` regarding conditional steps and possibly adding a Linux flavor. I've taken the liberty of addressing those issues.

One thing I didn't completely finish: getting Linux to publish test results. The problem is that there are directories the publish task can't read already sitting in `/tmp`. I think the right solution is to use `mktemp -d` and then use that directory in the test scripts. But that felt like a pretty invasive change that you'd want to discuss before I just powered through and did it :)

Also, the contents of `azure-Linux-35.yaml` are identical to macOS right now, because I wasn't sure what needed to differ between those environments.

Labels:
name: Testing
description: pandas testing functions or related to the test suite
name: CI
description: Continuous Integration

Comments:
# [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/23111?src=pr&el=h1) Report
> Merging [#23111](https://codecov.io/gh/pandas-dev/pandas/pull/23111?src=pr&el=desc) into [master](https://codecov.io/gh/pandas-dev/pandas/commit/d7e96d830c3f765565d2fd9d3f80f888fa261f02?src=pr&el=desc) will **increase** coverage by `49.43%`.
> The diff coverage is `n/a`.

[![Impacted file tree graph](https://codecov.io/gh/pandas-dev/pandas/pull/23111/graphs/tree.svg?width=650&token=eZ4WkYLtcO&height=150&src=pr)](https://codecov.io/gh/pandas-dev/pandas/pull/23111?src=pr&el=tree)

```diff
@@             Coverage Diff             @@
##           master   #23111       +/-   ##
===========================================
+ Coverage   42.52%   91.95%   +49.43%     
===========================================
  Files         161      161               
  Lines       51697    51831      +134     
===========================================
+ Hits        21982    47660    +25678     
+ Misses      29715     4171    -25544
```

| Flag | Coverage Δ | |
|---|---|---|
| #multiple | `90.61% <ø> (?)` | |
| #single | `42.88% <ø> (+0.36%)` | :arrow_up: |

| [Impacted Files](https://codecov.io/gh/pandas-dev/pandas/pull/23111?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [pandas/core/computation/pytables.py](https://codecov.io/gh/pandas-dev/pandas/pull/23111/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvY29tcHV0YXRpb24vcHl0YWJsZXMucHk=) | `92.37% <0%> (+0.3%)` | :arrow_up: |
| [pandas/io/pytables.py](https://codecov.io/gh/pandas-dev/pandas/pull/23111/diff?src=pr&el=tree#diff-cGFuZGFzL2lvL3B5dGFibGVzLnB5) | `92.3% <0%> (+0.92%)` | :arrow_up: |
| [pandas/util/\_test\_decorators.py](https://codecov.io/gh/pandas-dev/pandas/pull/23111/diff?src=pr&el=tree#diff-cGFuZGFzL3V0aWwvX3Rlc3RfZGVjb3JhdG9ycy5weQ==) | `93.24% <0%> (+4.05%)` | :arrow_up: |
| [pandas/compat/\_\_init\_\_.py](https://codecov.io/gh/pandas-dev/pandas/pull/23111/diff?src=pr&el=tree#diff-cGFuZGFzL2NvbXBhdC9fX2luaXRfXy5weQ==) | `58.36% <0%> (+8.17%)` | :arrow_up: |
| [pandas/core/config\_init.py](https://codecov.io/gh/pandas-dev/pandas/pull/23111/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvY29uZmlnX2luaXQucHk=) | `99.24% <0%> (+9.84%)` | :arrow_up: |
| [pandas/core/reshape/util.py](https://codecov.io/gh/pandas-dev/pandas/pull/23111/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvcmVzaGFwZS91dGlsLnB5) | `100% <0%> (+11.53%)` | :arrow_up: |
| [pandas/compat/numpy/\_\_init\_\_.py](https://codecov.io/gh/pandas-dev/pandas/pull/23111/diff?src=pr&el=tree#diff-cGFuZGFzL2NvbXBhdC9udW1weS9fX2luaXRfXy5weQ==) | `92.85% <0%> (+14.28%)` | :arrow_up: |
| [pandas/core/computation/common.py](https://codecov.io/gh/pandas-dev/pandas/pull/23111/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvY29tcHV0YXRpb24vY29tbW9uLnB5) | `85.71% <0%> (+14.28%)` | :arrow_up: |
| [pandas/core/api.py](https://codecov.io/gh/pandas-dev/pandas/pull/23111/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvYXBpLnB5) | `100% <0%> (+14.81%)` | :arrow_up: |
| [pandas/core/indexes/api.py](https://codecov.io/gh/pandas-dev/pandas/pull/23111/diff?src=pr&el=tree#diff-cGFuZGFzL2NvcmUvaW5kZXhlcy9hcGkucHk=) | `99% <0%> (+14.85%)` | :arrow_up: |
| ... and [118 more](https://codecov.io/gh/pandas-dev/pandas/pull/23111/diff?src=pr&el=tree-more) | |

------

[Continue to review full report at Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/23111?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/pandas-dev/pandas/pull/23111?src=pr&el=footer). Last update [d7e96d8...87fb3f9](https://codecov.io/gh/pandas-dev/pandas/pull/23111?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).

Thanks for the clean up @vtbassmatt. I don't know much about the Windows part, but lgtm. @TomAugspurger ?

@vtbassmatt unrelated to this PR, I'm working on moving the linting from travis to azure-pipelines in #22854. If you have feedback about it, that would be great.
@datapythonista I will definitely take a look. Probably Monday at this point.
Boo, build is failing on Linux and I don't quite understand why.
I haven't looked too deeply, but the logs in https://dev.azure.com/pandas-dev/pandas/_build/results?buildId=1216&view=logs reference numpy 1.10. We recently bumped our minimum to numpy 1.12.
@vtbassmatt can you rebase?
Rebased. Hopefully I didn't break anything -- I still have a shadow pipeline definition set up, so I'll know shortly.
[Mine looks clean](https://mattc-demo.visualstudio.com/python-ci-testing/_build/results?buildId=612&view=logs).
No worries, I think it's our fault for letting this sit unmerged for too
long :) I believe the new linux builds were added after you opened the PR.

On Mon, Nov 5, 2018 at 4:14 PM Matt Cooper <notifications@github.com> wrote:

> *@vtbassmatt* commented on this pull request.
> ------------------------------
>
> In azure-pipelines.yml
> <https://github.com/pandas-dev/pandas/pull/23111#discussion_r230933608>:
>
> >
> -# Windows Python 2.7 needs VC 9.0 installed, and not sure
> -# how to make that a conditional task, so for now these are
> -# separate templates as well
> +# - template: ci/azure/macos-linux.yml
>
> Whoops, I really screwed this rebase up. Will fix it tomorrow.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/pandas-dev/pandas/pull/23111#discussion_r230933608>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/ABQHIi8ai5vgiGr7_eXdPO-q_306YSyPks5usLg_gaJpZM4XZuip>
> .
>

Let's see if that rebase was a little better...
I'm sorry, I wasn't watching this closely enough and missed the build failure.
It looks like the Mac agent freaked out on that last run. It was working in the prior run and I didn't change anything, plus it worked on my private copy of the pipeline. I think this is back in working order.
is this PR still relevant? @datapythonista 
yes, that's something we'd like to have, as among other things it avoids repetitive code in the CI config.

@vtbassmatt can you merge master and fix the conflicts? And as I think you're addressing different things here, do you think it makes sense to split this PR, so we can merge the parts that are ready?
I'll take a look tomorrow. I had already resolved a similar rebase before, and it took a bit of finesse to make sure I didn't break anything.
@datapythonista pending the outcome of the Azure build, I think this is ready to merge. Can we please merge it soon so I don't have to rebase again? 😋 
Btw @vtbassmatt I think the problem we've got with Azure not reporting the end of the build to GitHub happens in all the PRs now, including this one. Not sure if it happens to other projects too, but probably worth reporting it again.
I'm working on the benchmarks failures (on azure) and the travis failures right now in https://github.com/pandas-dev/pandas/pull/24092.
We think we've spotted the bug - a missing null check when the build errors without a message. We're preparing a hotfix now.
That's great, thanks @vtbassmatt, and thanks for keeping us updated.

@TomAugspurger, now that #24092 has been merged, if you can take a look at this PR, I think it should be ready to be merged too.
@TomAugspurger if you can take a look, and merge if you're happy
I probably won't have time to look today, so I'd say go ahead and merge if
you're comfortable with the changes.

On Mon, Dec 10, 2018 at 6:16 PM Marc Garcia <notifications@github.com>
wrote:

> @TomAugspurger <https://github.com/TomAugspurger> if you can take a look,
> and merge if you're happy
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/pandas-dev/pandas/pull/23111#issuecomment-446024494>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/ABQHIubAK06_mdVogi8L_o53Kr4l_MVHks5u3vlZgaJpZM4XZuip>
> .
>

Double checked the changes, and the build, and everything looks all right. Merging.

Thanks @vtbassmatt