-
Notifications
You must be signed in to change notification settings - Fork 37.7k
ci: Build python from source in "lint" task #26716
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update. ConflictsNo conflicts as of last run. |
As far as I can tell,
GIven that |
4184ad4
to
3f602a6
Compare
Correct. Dropped "no other tools required" from the PR description.
I reckon the lower memory usage is due to using clang instead of gcc. |
Updated 3f602a6 -> f99260f (pr26716.02 -> pr26716.03, diff):
|
e9c8538
to
d418803
Compare
Updated f99260f -> d418803 (pr26716.03 -> pr26716.05, diff):
|
CI tasks with the python cache being:
|
Updated d418803 -> 123043e (pr26716.05 -> pr26716.06, diff): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 123043e
ACK 123043e |
${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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why add xz-utils
here when it is only needed when compiling python?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is required here:
Line 37 in 01ec530
curl -sL "https://github.com/koalaman/shellcheck/releases/download/${SHELLCHECK_VERSION}/shellcheck-${SHELLCHECK_VERSION}.linux.x86_64.tar.xz" | tar --xz -xf - --directory /tmp/ |
This change points to the wastefulness of our current CI setup as alluded to in the Cirrus docs: On every CI run, we're doing the same apt installs and Python setup. We should probably just specify a If there's interest I can create an issue for this. |
123043e ci: Bump lint task image to Ubuntu Jammy (Hennadii Stepanov) 9b86114 ci: Use pyenv's `python-build` to install Python in lint task (Hennadii Stepanov) Pull request description: This PR: - is an alternative to bitcoin#26581 and bitcoin#26637 - closes 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: ACK 123043e fanquake: ACK 123043e Tree-SHA512: ba0fcdd4f2939a59692b173dcd1f5704444cfcfbb8111538c6f8160056d0536bba250e4f9b0f8c66f8b454e52034bf36ffe6afae76cdc0f7cc5b58b576d790ba
Yeah, I did this because I want to be able to run the stuff easily locally: https://github.com/bitcoin/bitcoin/tree/master/ci#running-a-stage-locally I don't know enough about docker to figure out if there is a more efficient but equally simply way to do this. Overall I am thinking that it shouldn't matter if we download the packages or download a pod layer with the packages installed. (Modulo a slow mirror, which should ideally be solved by using a fast mirror, but there doesn't seem to be an easy way to do this? Also modulo the time it takes to run the install script) |
This PR:
Key advantages of this PR over others:
python-build
standaloneNote for testing. The lint task must success regardless of whether the
python_cache
is populated or invalidated.