Repository: pandas-dev/pandas
Pull request: Added conda update step and re-added gcsfs
- [X] closes #26345
- [ ] tests added / passed
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry


Problem statement:
Windows 3.7 CI Failures
Lots of failures recently with CI build. I do see this in the logs:

```sh
CondaValueError: Malformed version string '~': invalid character(s).
```

Which I assume is the root cause, though the dependency file hasn't been updated in some time.

@TomAugspurger if you have any thoughts; maybe a conda-forge issue?

Hints from issue discussion:
May also have to do with conda version. I think last working CI run was using 4.5.12 latest have been using 4.6.14
Weird...I can create the environment using `4.6.14` just fine locally on my Windows machine.
let’s leave this open to follow up on the actual gcfs issue
xref: https://github.com/pandas-dev/pandas/pull/26358#issue-278076317
cc @martindurant : Hello, I'm pinging because you seem to be the prominent contributor to [dask/gcsfs](https://github.com/dask/gcsfs).  We're running into an issue installing this via `conda` on Windows 3.7 on Azure (see the issue description).  What's weird is that we haven't touched our Azure YAML for awhile, and this suddenly popped up.  Might you have any idea what happened?
Sorry, what exactly is the issue? gcsfs should install on 3.7 as far as I know, but I have no experience with azure - it's a pure-python package, though, so should be simple. There has been no new version of gcsfs, nor google-auth/oauthlib.
> it's a pure-python package, though, so should be simple

@martindurant: That's what logic would dictate, but CI does not seem to follow basic human logic 😂

Have a look at:

https://dev.azure.com/pandas-dev/pandas/_build/results?buildId=11345

* Click the "Windows py37_np141" build
* Click the "Before Install" step
* Scroll down to line 962

This is configuration for the `conda` environment that we set up for this (line 55 of build output):

https://github.com/pandas-dev/pandas/blob/master/ci/deps/azure-windows-37.yaml

Have you seen that (line 962) error ever?  I haven't been able to reproduce on a local windows machine at this point, so not really sure what's going on here...

If you have any other questions, I'll be happy to help you out.
This is a conda issue, not gcsfs, right?
I haven't ever seen this before, no. I suppose, indeed we should ping someone from conda or forge. 
A text search doesn't reveal the character `"~"` anywhere in the gcsfs package, outside of strings, docs and comments.

Commit message: Added conda update step and re-added gcsfs

Patch to review:
diff --git a/ci/azure/windows.yml b/ci/azure/windows.yml
index 86d445e343777..5a919b1c13e34 100644
--- a/ci/azure/windows.yml
+++ b/ci/azure/windows.yml
@@ -19,6 +19,8 @@ jobs:
   steps:
     - powershell: Write-Host "##vso[task.prependpath]$env:CONDA\Scripts"
       displayName: Add conda to PATH
+    - script: conda update -n base conda
+      displayName: Update conda
     - script: conda env create --file ci\\deps\\azure-windows-$(CONDA_PY).yaml
       displayName: Create anaconda environment
     - script: |
diff --git a/ci/deps/azure-windows-37.yaml b/ci/deps/azure-windows-37.yaml
index 66ab307eb3244..5384e794d442a 100644
--- a/ci/deps/azure-windows-37.yaml
+++ b/ci/deps/azure-windows-37.yaml
@@ -1,9 +1,11 @@
 name: pandas-dev
 channels:
   - defaults
+  - conda-forge
 dependencies:
   - beautifulsoup4
   - bottleneck
+  - gcsfs
   - html5lib
   - jinja2
   - lxml


Code review comments:
diff_hunk: @@ -19,6 +19,8 @@ jobs:
   steps:
     - powershell: Write-Host "##vso[task.prependpath]$env:CONDA\Scripts"
       displayName: Add conda to PATH
+    - script: conda update -n base conda
path: ci/azure/windows.yml
text: @user1:
nitpick: it's nice to have `-q` here (and in the `conda env create` below) so that we don't have long logs just showing the download progress.