aboutsummaryrefslogtreecommitdiff
path: root/ci/lint
diff options
context:
space:
mode:
authorHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2023-01-16 13:29:44 +0000
committerHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2023-01-16 13:29:44 +0000
commit9b86114058b3931c5b4ddc931a8a2cfdc8b085b6 (patch)
tree38d3ee6dd9aa414e21eb5b27b91126f1ecaea744 /ci/lint
parentcb32328d1b80d0ccd6eb9532bd8fe4e0a4de385e (diff)
downloadbitcoin-9b86114058b3931c5b4ddc931a8a2cfdc8b085b6.tar.xz
ci: Use pyenv's `python-build` to install Python in lint task
Diffstat (limited to 'ci/lint')
-rwxr-xr-xci/lint/04_install.sh21
1 files changed, 20 insertions, 1 deletions
diff --git a/ci/lint/04_install.sh b/ci/lint/04_install.sh
index 6f9a4709dd..7b3cf59652 100755
--- a/ci/lint/04_install.sh
+++ b/ci/lint/04_install.sh
@@ -7,7 +7,26 @@
export LC_ALL=C
${CI_RETRY_EXE} apt-get update
-${CI_RETRY_EXE} apt-get install -y python3-pip curl git gawk jq
+${CI_RETRY_EXE} apt-get install -y curl git gawk jq xz-utils
+
+PYTHON_PATH=/tmp/python
+if [ ! -d "${PYTHON_PATH}/bin" ]; then
+ (
+ git clone https://github.com/pyenv/pyenv.git
+ cd pyenv/plugins/python-build || exit 1
+ ./install.sh
+ )
+ # For dependencies see https://github.com/pyenv/pyenv/wiki#suggested-build-environment
+ ${CI_RETRY_EXE} apt-get install -y build-essential libssl-dev zlib1g-dev \
+ libbz2-dev libreadline-dev libsqlite3-dev curl llvm \
+ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev \
+ clang
+ env CC=clang python-build "$(cat "${BASE_ROOT_DIR}/.python-version")" "${PYTHON_PATH}"
+fi
+export PATH="${PYTHON_PATH}/bin:${PATH}"
+command -v python3
+python3 --version
+
(
# Temporary workaround for https://github.com/bitcoin/bitcoin/pull/26130#issuecomment-1260499544
# Can be removed once the underlying image is bumped to something that includes git2.34 or later