0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-03-05 14:06:27 -05:00

ci: Use pyenv's python-build to install Python in lint task

This commit is contained in:
Hennadii Stepanov 2023-01-16 13:29:44 +00:00
parent cb32328d1b
commit 9b86114058
No known key found for this signature in database
GPG key ID: 410108112E7EA81F
2 changed files with 24 additions and 2 deletions

View file

@ -67,11 +67,14 @@ task:
name: 'lint [bionic]'
<< : *BASE_TEMPLATE
container:
image: ubuntu:bionic # For python 3.6, oldest supported version according to doc/dependencies.md
image: ubuntu:bionic
cpu: 1
memory: 1G
# For faster CI feedback, immediately schedule the linters
<< : *CREDITS_TEMPLATE
python_cache:
folder: "/tmp/python"
fingerprint_script: cat .python-version /etc/os-release
lint_script:
- ./ci/lint_run_all.sh
env:

View file

@ -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