mirror of
https://github.com/Retropex/bitcoin.git
synced 2025-05-12 19:20:42 +02:00
Merge bitcoin/bitcoin#26716: ci: Build python from source in "lint" task
123043e99c
ci: Bump lint task image to Ubuntu Jammy (Hennadii Stepanov)9b86114058
ci: Use pyenv's `python-build` to install Python in lint task (Hennadii Stepanov) Pull request description: This PR: - is an alternative to bitcoin/bitcoin#26581 and bitcoin/bitcoin#26637 - closes bitcoin/bitcoin#26548 Key advantages of this PR over others: - it uses pyenv's `python-build` [standalone](https://github.com/pyenv/pyenv/tree/master/plugins/python-build#using-python-build-standalone) - requires no additional computational resources Note for testing. The lint task must success regardless of whether the `python_cache` is populated or invalidated. ACKs for top commit: MarcoFalke: ACK123043e99c
fanquake: ACK123043e99c
Tree-SHA512: ba0fcdd4f2939a59692b173dcd1f5704444cfcfbb8111538c6f8160056d0536bba250e4f9b0f8c66f8b454e52034bf36ffe6afae76cdc0f7cc5b58b576d790ba
This commit is contained in:
commit
01ec5308bf
@ -65,14 +65,17 @@ compute_credits_template: &CREDITS_TEMPLATE
|
|||||||
use_compute_credits: $CIRRUS_REPO_FULL_NAME == 'bitcoin/bitcoin' && $CIRRUS_PR != ""
|
use_compute_credits: $CIRRUS_REPO_FULL_NAME == 'bitcoin/bitcoin' && $CIRRUS_PR != ""
|
||||||
|
|
||||||
task:
|
task:
|
||||||
name: 'lint [bionic]'
|
name: 'lint [jammy]'
|
||||||
<< : *BASE_TEMPLATE
|
<< : *BASE_TEMPLATE
|
||||||
container:
|
container:
|
||||||
image: ubuntu:bionic # For python 3.6, oldest supported version according to doc/dependencies.md
|
image: ubuntu:jammy
|
||||||
cpu: 1
|
cpu: 1
|
||||||
memory: 1G
|
memory: 1G
|
||||||
# For faster CI feedback, immediately schedule the linters
|
# For faster CI feedback, immediately schedule the linters
|
||||||
<< : *CREDITS_TEMPLATE
|
<< : *CREDITS_TEMPLATE
|
||||||
|
python_cache:
|
||||||
|
folder: "/tmp/python"
|
||||||
|
fingerprint_script: cat .python-version /etc/os-release
|
||||||
lint_script:
|
lint_script:
|
||||||
- ./ci/lint_run_all.sh
|
- ./ci/lint_run_all.sh
|
||||||
env:
|
env:
|
||||||
|
@ -7,14 +7,25 @@
|
|||||||
export LC_ALL=C
|
export LC_ALL=C
|
||||||
|
|
||||||
${CI_RETRY_EXE} apt-get update
|
${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
|
||||||
(
|
|
||||||
# Temporary workaround for https://github.com/bitcoin/bitcoin/pull/26130#issuecomment-1260499544
|
PYTHON_PATH=/tmp/python
|
||||||
# Can be removed once the underlying image is bumped to something that includes git2.34 or later
|
if [ ! -d "${PYTHON_PATH}/bin" ]; then
|
||||||
sed -i -e 's/bionic/jammy/g' /etc/apt/sources.list
|
(
|
||||||
${CI_RETRY_EXE} apt-get update
|
git clone https://github.com/pyenv/pyenv.git
|
||||||
${CI_RETRY_EXE} apt-get install -y --reinstall 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
|
||||||
|
|
||||||
${CI_RETRY_EXE} pip3 install codespell==2.2.1
|
${CI_RETRY_EXE} pip3 install codespell==2.2.1
|
||||||
${CI_RETRY_EXE} pip3 install flake8==5.0.4
|
${CI_RETRY_EXE} pip3 install flake8==5.0.4
|
||||||
|
Loading…
Reference in New Issue
Block a user