-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add CircleCI jobs to run the oldest and newest Python versions we sup…
…port. (#1053) As part of this, we've removed the per-Python-version lib/Pipfile.locks/ files in favor of running without pipenv lock files, and having CircleCI cache our Python environment using a combination of the Python binary, lib/Pipfile, and the current data. This implies that once per day we'll potentially upgrade our Python packages, consistent with any requirements in lib/Pipfile. We will always regenerate our Python environment if lib/Pipfile changes, potentially upgrading any other packages at that time as well. This was deemed acceptable in a conversation with @tvst. This also introduces tests.testutils.requires_tensorflow(), a decorator for tests that require Tensorflow, so that we can skip these under Python 3.8, which Tensorflow does not yet support. In doing this work, it was discovered that we had broken our support for Python 3.5. This required two fixes: o Invocations of "black" were modified to tell it that it needs to retain support for Python 3.5 syntax, which does not permit a trailing comma after "**kwargs" in a function definition. Fixed this in two places in DeltaGenerator.py, restoring Python 3.5 support. o In e2e/scripts/st_magic.py, tests of async generators were made conditional on Python 3.6 or greater. Following this change I expect one follow-up commit, and I made a few voluntary style changes: o Once this makes it to master, I expect to change the "fully-specified" job from python-3.7.4 to python-3.8, leaving only one "inheriting" job at 3.5. Not doing this yet so we can get the new name passing before we change out GitHub status checks to reference it. o The new job names reference the Python major and minor versions they belong to, but *not* the micro version (e.g., 4 in 3.7.4). I think we should be able to advance along these micro/maintenance releases without switching job names. o In the new 3.5 and 3.8 jobs, I removed explicit selection of the Debian version underlying the circleci Debian image we run the tests under. I could just have easily switched these to "buster", the new latest Debian, but I think it's probably better to just go with CircleCI's defaults rather than having to remember to check and update this every year or so. o Moved jstests to run against 3.8, since I'm planning to retire testing against 3.7 soon per the above. I tried doing this with Cypress as well, but ran against diffs due to font differences, so I fell back.
- Loading branch information
Nate White
committed
Feb 10, 2020
1 parent
1c127ec
commit 1b92148
Showing
10 changed files
with
85 additions
and
3,718 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.