Skip to content

Merge main into releases/v2 #1261

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

Merged
merged 25 commits into from
Sep 21, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
4f10467
Remove now-duplicated PR titles from release PR descriptions
henrymercer Sep 15, 2022
82495d8
Add CHANGELOG note for TRAP caching
edoardopirovano Sep 16, 2022
b15cc00
Merge pull request #1251 from github/edoardo/trap-caching-changenote
edoardopirovano Sep 16, 2022
9f79e5f
Update changelog and version after v2.1.24
invalid-email-address Sep 16, 2022
e0ef82e
Update checked-in dependencies
invalid-email-address Sep 16, 2022
fb28913
Add advice to the backport PR on how to run the checks quicker
henrymercer Sep 16, 2022
2e9fbe3
Add advice to the mergeback PR on how to run the checks quicker
henrymercer Sep 16, 2022
aaca819
Merge pull request #1252 from github/mergeback/v2.1.24-to-main-904260d7
henrymercer Sep 16, 2022
5ffcfe9
python-setup: Allow newest `virtualenv`
RasmusWL Sep 16, 2022
e1ce6e3
python-setup: Fix venv creation in Ubuntu 22.04
RasmusWL Sep 19, 2022
70509c3
python-setup: Add support for Poetry 1.2
RasmusWL Sep 19, 2022
038242a
Merge pull request #1254 from github/henrymercer/improve-release-pr-d…
henrymercer Sep 20, 2022
1309aaf
Update CHANGELOG.md
RasmusWL Sep 20, 2022
c2c7bba
Merge pull request #1256 from github/rasmuswl/newer-virtualenv
RasmusWL Sep 21, 2022
3f97671
python-setup: run tests on Ubuntu 22.04
RasmusWL Sep 21, 2022
2264307
python-setup: change `env` passing
RasmusWL Sep 21, 2022
ca8a78d
python-setup: flush at the end of `_check_call`
RasmusWL Sep 21, 2022
417059f
Merge pull request #1258 from github/rasmuswl/poetry-v1.2
RasmusWL Sep 21, 2022
1fa5d72
python-setup: Fail early if installing for Python 2, and `python2` no…
RasmusWL Sep 21, 2022
93ba53f
add missing spaces
RasmusWL Sep 21, 2022
8a893dd
python-setup: Flush even more
RasmusWL Sep 21, 2022
b2fc1e1
python-setup: Disable python2 tests on ubuntu-22.04
RasmusWL Sep 21, 2022
32ca2cf
Apply suggestions from code review
RasmusWL Sep 21, 2022
ff5ca12
Merge pull request #1257 from github/rasmuswl/fix-ubuntu22.04-venv-cr…
henrymercer Sep 21, 2022
d1e2e02
Update changelog for v2.1.25
invalid-email-address Sep 21, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
python-setup: Add support for Poetry 1.2
  • Loading branch information
RasmusWL committed Sep 19, 2022
commit 70509c388492a8d6facc01a9b4b815455a8ffdc2
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
## [UNRELEASED]

- We will soon be rolling out a feature of the CodeQL Action that stores some information used to make future runs faster in the GitHub Actions cache. Initially, this will only be enabled on JavaScript repositories, but we plan to add more languages to this soon. The new feature can be disabled by passing the `trap-caching: false` option to your workflow's `init` step, for example if you are already using the GitHub Actions cache for a different purpose and are near the storage limit for it.
- Add support for Python automatic dependency installation with Poetry 1.2.

## 2.1.24 - 16 Sep 2022

Expand Down
34 changes: 28 additions & 6 deletions python-setup/auto_install_packages.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,49 @@
import extractor_version


def _check_call(command):
def _check_call(command, extra_env=None):
print('+ {}'.format(' '.join(command)), flush=True)
subprocess.check_call(command, stdin=subprocess.DEVNULL)

# only pass `env` argument if we need to pass in an updated environment
kwargs = {}
if extra_env:
new_env = os.environ.copy()
new_env.update(extra_env)
kwargs = {"env": new_env}

def _check_output(command):
subprocess.check_call(command, stdin=subprocess.DEVNULL, **kwargs)


def _check_output(command, extra_env=None):
print('+ {}'.format(' '.join(command)), flush=True)
out = subprocess.check_output(command, stdin=subprocess.DEVNULL)

# only pass `env` argument if we need to pass in an updated environment
kwargs = {}
if extra_env:
new_env = os.environ.copy()
new_env.update(extra_env)
kwargs = {"env": new_env}

out = subprocess.check_output(command, stdin=subprocess.DEVNULL, **kwargs)
print(out, flush=True)
sys.stderr.flush()
return out


def install_packages_with_poetry():

# To handle poetry 1.2, which started to use keyring interaction MUCH more, we need
# add a workaround. See
# https://github.com/python-poetry/poetry/issues/2692#issuecomment-1235683370
extra_poetry_env = {"PYTHON_KEYRING_BACKEND": "keyring.backends.null.Keyring"}

command = [sys.executable, '-m', 'poetry']
if sys.platform.startswith('win32'):
# In windows the default path were the deps are installed gets wiped out between steps,
# so we have to set it up to a folder that will be kept
os.environ['POETRY_VIRTUALENVS_PATH'] = os.path.join(os.environ['RUNNER_WORKSPACE'], 'virtualenvs')
try:
_check_call(command + ['install', '--no-root'])
_check_call(command + ['install', '--no-root'], extra_env=extra_poetry_env)
except subprocess.CalledProcessError:
sys.exit('package installation with poetry failed, see error above')

Expand All @@ -38,7 +60,7 @@ def install_packages_with_poetry():
# virtualenv for the package, which was the case for using poetry for Python 2 when
# default system interpreter was Python 3 :/

poetry_out = _check_output(command + ['run', 'which', 'python'])
poetry_out = _check_output(command + ['run', 'which', 'python'], extra_env=extra_poetry_env)
python_executable_path = poetry_out.decode('utf-8').splitlines()[-1]

if sys.platform.startswith('win32'):
Expand Down
3 changes: 1 addition & 2 deletions python-setup/install_tools.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,5 @@ py -3 -m pip install --user --upgrade pip setuptools wheel
py -2 -m pip install --user 'virtualenv<20.11'
py -3 -m pip install --user 'virtualenv<20.11'

# We aren't compatible with poetry 1.2
py -3 -m pip install --user "poetry>=1.1,<1.2"
py -3 -m pip install --user "poetry>=1.1"
py -3 -m pip install --user pipenv
3 changes: 1 addition & 2 deletions python-setup/install_tools.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,7 @@ python3 -m pip install --user 'virtualenv<20.11'
# "program uses threads.", RuntimeWarning)
# LGTM_PYTHON_SETUP_VERSION=The currently activated Python version 2.7.18 is not supported by the project (^3.5). Trying to find and use a compatible version. Using python3 (3.8.2) 3

# We aren't compatible with poetry 1.2
python3 -m pip install --user "poetry>=1.1,<1.2"
python3 -m pip install --user "poetry>=1.1"
python3 -m pip install --user pipenv

if command -v python2 >/dev/null 2>&1; then
Expand Down
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy