-
Notifications
You must be signed in to change notification settings - Fork 38.8k
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): |
fanquake
left a comment
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-buildstandaloneNote for testing. The lint task must success regardless of whether the
python_cacheis populated or invalidated.