Skip to content
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

Fix Python versions used in CI environments #5

Merged
merged 12 commits into from
Nov 19, 2018
Merged

Conversation

jakirkham
Copy link
Owner

@jakirkham jakirkham commented Nov 17, 2018

For some reason Travis CI builds were all using Python 3.7 instead of the specified Python version. This may be a change in how Conda solves these cases. So here we create an empty environment, activate it, and pin the Python version in that environment. That way updating it with the environment file afterwards has to keep the same Python version. Clean out the old openssl hack and use the new environment activation process while we are at it. Also fix the dependencies to versions that are available on Python 2.7 and 3.5-3.7.

This was working around an old issue with `openssl` in defaults where a
post-link script that they had misbehaved when upgrading to packages in
conda-forge. However this was long since fixed when Anaconda rebuilt
with conda-forge packages, which did not have this script. So just drop
the workaround.
@jakirkham jakirkham force-pushed the fix_ci_activate branch 4 times, most recently from 5ecdf60 to 9821989 Compare November 19, 2018 15:53
It seems that `conda env update` is overriding the match specification
from the previous `python` install command. To fix this, we create the
environment empty and pin the `python` version in the `pinned` file.
This should be respected by `conda env update`.
@jakirkham jakirkham force-pushed the fix_ci_activate branch 2 times, most recently from 414a91c to 00df77b Compare November 19, 2018 16:17
Seems the current version of dependencies do not exist as `conda`
packages in either `defaults` or `conda-forge`. So downgrade a little
bit to get a version of `wheel` that works across Python versions.
@jakirkham jakirkham changed the title Use Conda 4.4.0's new form of activation Fix Python versions used in CI environments Nov 19, 2018
When it comes to setting the Python version for each environment use the
`PYVER` environment variable to separate this from the Miniconda version
and make the CI configurations more similar. Will allow us to update
Miniconda independently of the Python version being tested.
Go ahead and use Miniconda with Python 3.7 for the Python 2.7 use case.
After all there is no need to match Miniconda version to Python version
being tested.
Simplify the environment variables in the AppVeyor configuration file by
pulling out common ones from the matrix.
On AppVeyor, we are seeing issues with Miniconda's Python version being
used instead of the one we are trying to pin. So try to drop quotes from
the filename to see if it helps.
Seems these quotes are ending up in the `pinned` file, which may be
causing them to be parsed in a weird way. Surprisingly the quotes don't
result in any errors being thrown. In any event, hopefully this results
in something digestible by Conda.
This space seems to be included in the content written into `pinned`. So
drop the space so that it is not included in `pinned`.
This has served its purpose. So drop it to avoid cluttering the
configuration file and logs.
@jakirkham jakirkham merged commit 133cfa5 into master Nov 19, 2018
@jakirkham jakirkham deleted the fix_ci_activate branch November 19, 2018 18:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant