Permalink
Cannot retrieve contributors at this time
executable file
50 lines (41 sloc)
2.34 KB
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
codeql-action/python-setup/install_tools.sh
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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
#!/bin/sh | |
set -x | |
set -e | |
# The binaries for packages installed with `pip install --user` are not available on PATH | |
# by default, so we fix up PATH to suppress warnings by pip. This also needs to be done by | |
# any script that needs to access poetry/pipenv. | |
# | |
# Using `::add-path::` from the actions toolkit is not enough, since that only affects | |
# subsequent actions in the current job, and not the current action. | |
export PATH="$HOME/.local/bin:$PATH" | |
# Setup Python 3 dependency installation tools. | |
python3 -m pip install --user --upgrade pip setuptools wheel | |
# virtualenv is a bit nicer for setting up virtual environment, since it will provide | |
# up-to-date versions of pip/setuptools/wheel which basic `python3 -m venv venv` won't. | |
# | |
# version 20.16.5 (Python 3 only) had some problems when used together with newer | |
# versions of setuptools (60+) and would not always put binaries under `<venv-path>/bin` | |
# -- see https://github.com/github/codeql-action/issues/1249 for more details. | |
python3 -m pip install --user --upgrade 'virtualenv>20.16.5' | |
# We install poetry with pip instead of the recommended way, since the recommended way | |
# caused some problem since `poetry run` gives output like: | |
# | |
# /root/.poetry/lib/poetry/_vendor/py2.7/subprocess32.py:149: RuntimeWarning: The _posixsubprocess module is not being used. Child process reliability may suffer if your program uses threads. | |
# "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 | |
python3 -m pip install --user "poetry>=1.1" | |
python3 -m pip install --user pipenv | |
if command -v python2 >/dev/null 2>&1; then | |
# Setup Python 2 dependency installation tools. The Ubuntu 20.04 GHA environment | |
# does not come with a Python 2 pip, but if it is already installed, don't try to | |
# install it again (since that causes problems). | |
# | |
# This might seem like a hypothetical situation, but it happens all the time in our | |
# internal testing where we run the action twice in a row. | |
if ! python2 -m pip --version; then | |
echo "Will install pip for python2" | |
curl --location --fail https://bootstrap.pypa.io/pip/2.7/get-pip.py | python2 | |
fi | |
python2 -m pip install --user --upgrade pip setuptools wheel | |
python2 -m pip install --user 'virtualenv!=20.12.0' | |
fi |