linkedin / linkedin/pygradle

Update CI Python versions

Open
#161 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
603
Forks
142
PR merge metrics
No merged PRs in 30d

Description

There seems to be some inconsistencies in the versions of Python tested against in the various CI integrations. From the looks of it:

* Appveyor is testing Python 2.7, 3.3, and 3.4
* Circle Is testing 2.6.8, 2.7.9, 3.4.3, and 3.5.0
* I can't tell what's being tested on Travis
* None are testing Python 3.6

I might be totally misunderstanding how these are set up, but some observations:

* Given that Python 2.6 is long EOL'd and 3.3 will be EOL'd in September 2017, it makes sense to drop both of these
* It *could* make sense to continue to support Python 3.4, although i would argue that many projects are dropping it due to the lack of `async`/`await` keywords. It's not unreasonable to continue to support 3.4 given that it will be [supported upstream until approximately August 2018](https://www.python.org/dev/peps/pep-0429/#id4) in source-only, security-only mode.
* Only `Major.Minor` versions should be specified so that the highest supported patch release available is tested (e.g. 2.7 instead of 2.7.9, given that 2.7.13 is the latest upstream release and there are some potentially significant differences from .9 to .13).
* Python 3.6 should definitely be added to the test matrix.
* It *might* makes sense to add the current in-development version of Python (i.e. what will be 3.7 as of this writing), if the service supports it.

So as of right now, I'd say a minimal test matrix should include 2.7, 3.5, and 3.6, with 3.4 and 3.7 optionally.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect the Appveyor, CircleCI, and Travis CI configuration entry points and compare their Python test matrices. Verify which versions Travis currently tests, then align the services with the proposed minimum matrix of Python 2.7, 3.5, and 3.6, with optional versions decided from service support. Done means the CI integrations consistently test the agreed versions.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ci-cd
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.