aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.cirrus.yml7
-rwxr-xr-xci/lint/04_install.sh27
2 files changed, 24 insertions, 10 deletions
diff --git a/.cirrus.yml b/.cirrus.yml
index 83cb72e4e0..e889963fa3 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -65,14 +65,17 @@ compute_credits_template: &CREDITS_TEMPLATE
use_compute_credits: $CIRRUS_REPO_FULL_NAME == 'bitcoin/bitcoin' && $CIRRUS_PR != ""
task:
- name: 'lint [bionic]'
+ name: 'lint [jammy]'
<< : *BASE_TEMPLATE
container:
- image: ubuntu:bionic # For python 3.6, oldest supported version according to doc/dependencies.md
+ image: ubuntu:jammy
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:
diff --git a/ci/lint/04_install.sh b/ci/lint/04_install.sh
index b459b321f1..376737d01a 100755
--- a/ci/lint/04_install.sh
+++ b/ci/lint/04_install.sh
@@ -7,14 +7,25 @@
export LC_ALL=C
${CI_RETRY_EXE} apt-get update
-${CI_RETRY_EXE} apt-get install -y python3-pip curl git gawk jq
-(
- # 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
- sed -i -e 's/bionic/jammy/g' /etc/apt/sources.list
- ${CI_RETRY_EXE} apt-get update
- ${CI_RETRY_EXE} apt-get install -y --reinstall git
-)
+${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
${CI_RETRY_EXE} pip3 install codespell==2.2.1
${CI_RETRY_EXE} pip3 install flake8==5.0.4