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

Stop using Python 3.6 internally and in CI #11175

Merged
merged 4 commits into from
Nov 19, 2020

Conversation

Eric-Arellano
Copy link
Contributor

No description provided.

@Eric-Arellano Eric-Arellano changed the title WIP: Stop using Python 3.6 internally and in CI Stop using Python 3.6 internally and in CI Nov 13, 2020
@coveralls
Copy link

coveralls commented Nov 13, 2020

Coverage Status

Coverage remained the same at 0.0% when pulling b5d0906 on Eric-Arellano:local-run-py36 into b9f671e on pantsbuild:master.

@Eric-Arellano Eric-Arellano marked this pull request as ready for review November 13, 2020 17:39
pants Outdated Show resolved Hide resolved
Comment on lines +11 to +12
PY="$(determine_python)"
export PY
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I spent way too much time trying to debug why export PY="$(determine_python)" was failing, until I remembered the wonders of shellcheck.

Comment on lines +96 to +99
# Because the venv has been activated, we simply say `python` and it will use the venv's version. We cannot use
# `${PY}` because it could use the wrong interpreter if the value is an absolute path.
PYTHONPATH="${PANTS_SRCPATH_STR}:${PYTHONPATH}" RUNNING_PANTS_FROM_SOURCES=1 \
exec "${PY}" "${PANTS_EXE}" "$@"
exec python "${PANTS_EXE}" "$@"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This also took a lot of time to figure out. It was broken before if you set $PY to an absolute path.

continue
fi
# Check if the Python version is installed via Pyenv but not activated.
if [[ "$("${interpreter_path}" --version 2>&1 > /dev/null)" == "pyenv: python${version}"* ]]; then
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't follow this logic after playing with pyenv here locally. It would seem more straight forward to use the pyenv equivalent of command -v:

$ pyenv local 3.7.6
$ pyenv which python3.7
/home/jsirois/.pyenv/versions/3.7.6/bin/python3.7
$ pyenv which python3.8 2>/dev/null
$

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I get the logic now. That's pretty hacky but it works fine.

Copy link
Contributor

@jsirois jsirois left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing the have 3.8 but not 3.7 case!

@Eric-Arellano
Copy link
Contributor Author

It's been a couple of days since we announced removing 3.6, and no complaints about it, so I'm going to merge this.

@Eric-Arellano Eric-Arellano merged commit cb34f38 into pantsbuild:master Nov 19, 2020
@Eric-Arellano Eric-Arellano deleted the local-run-py36 branch November 19, 2020 17:15
Eric-Arellano added a commit that referenced this pull request Nov 25, 2020
Internal only changes:

* Rewrite changelog helper to Python and use markdown for changelog ([#11224](#11224))

* Update to nails `0.8.0`. ([#11226](#11226))

* upgrade to Rust v1.48.0 ([#11210](#11210))

* Move Session to its own file. ([#11222](#11222))

* Port InteractiveProcess to Tokio to unblock async interruption ([#11219](#11219))

* Add `./cargo` script to facilitate Rust development ([#11218](#11218))

* Add partition metadata ([#11212](#11212))

* Hotfix unbound `$PY` variable breaking cargo script ([#11209](#11209))

* Remove dataclasses backport ([#11208](#11208))

* Stop using Python 3.6 internally and in CI ([#11175](#11175))

* Update to tokio 0.2.23. ([#11200](#11200))

* Add test address metadata ([#11193](#11193))

* Port more tests from `TestBase` to `RuleRunner` ([#11183](#11183))

* acquire GIL during work unit conversion ([#11186](#11186))

* Add counter metrics for remote execution  ([#11155](#11155))

* add metrics to local cache code paths ([#11146](#11146))

* Deprecate the `sources` field for `python_awslambda` ([#11176](#11176))

* Make S3 bucket expiry deletion handling robust. ([#11156](#11156))

* Detect delete markers in our s3 cache of native_engine.so. ([#11140](#11140))

* Fix target globs for deleted file `pants_run_integration_test.py`. ([#11127](#11127))

* Deduplicate `Platform` and `PlatformConstraint` ([#11157](#11157))

* move counter increment into check_action_cache ([#11154](#11154))

* Replace the "base target" concept with "BUILD targets" ([#11136](#11136))

* Re-land the port of Pants' nailgun client to Rust ([#11147](#11147))

* Flatten execution and target PlatformConstraints in MultiPlatformProcess ([#11145](#11145))

* Prepare 2.1.0rc2 ([#11180](#11180))

* Prepare 2.1.0rc1 ([#11144](#11144))

* Prepare 2.0.1rc0 ([#11141](#11141))

* Prepare 2.0.1rc2 ([#11220](#11220))

* Prepare 2.1.1rc0 ([#11221](#11221))

* Prepare 2.1.0 ([#11198](#11198))

* Prepare 2.0.1rc1 ([#11192](#11192))

* Prepare 2.1.0rc3 ([#11191](#11191))

[ci skip-rust]
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.

4 participants