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

Add Python 3.7 to CI Cron job #7162

Closed
Eric-Arellano opened this issue Jan 25, 2019 · 0 comments · Fixed by #7261
Closed

Add Python 3.7 to CI Cron job #7162

Eric-Arellano opened this issue Jan 25, 2019 · 0 comments · Fixed by #7261
Assignees

Comments

@Eric-Arellano
Copy link
Contributor

Eric-Arellano commented Jan 25, 2019

Three distinct times, we've been hit by issues specific to Python 3.7: #6363, #7147, #7160.

Because we will (soon) claim to fully support 2.7, 3.6, and 3.7, we need to add 3.7 to our CI somehow to ensure we don't ever drop full support.

However, we don't want to double our CI time, so we will add this to the Cron job, which is how we currently handle Python 2 integration tests.

--

Note we will still default to 3.6 in daily CI, as it has the highest usage numbers (https://www.jetbrains.com/research/python-developers-survey-2018/) and it is more likely that we will try to use a 3.7-only feature than the reverse of doing something that only works in 3.6 but not 3.7.

@Eric-Arellano Eric-Arellano self-assigned this Jan 25, 2019
@Eric-Arellano Eric-Arellano changed the title Add Python 3.7 to Cron job Add Python 3.7 to CI Cron job Jan 25, 2019
Eric-Arellano added a commit that referenced this issue Mar 26, 2019
### Problem
We now claim support for both Python 3.6 and Python 3.7. 

A couple of times, we've been hit by issues specific to Python 3.7. So, we want to have CI to catch these issues.

This will close #7162.

### Solution
Add new shards to run with Py37 during the cron stage every night.

This requires getting Py37 onto the shards. We extend our current use of Pyenv to also install Python 3.7 where relevant. 

Note we cannot get Python 3.7 onto the Centos6 Build Engine shard, as the OpenSSL shard is too outdated. Instead, we simply use Ubuntu Xenial to bootstrap the Py37 PEX. This is okay to do because we do not build any wheels with this shard, and only use it for internal testing. See #7421. 

### Result
Cron job now runs with both Python 2.7 and 3.7. See https://travis-ci.org/pantsbuild/pants/builds/509675034 for what the new nightly run will look like.

Daily CI is the same as before.
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 a pull request may close this issue.

1 participant