-
Notifications
You must be signed in to change notification settings - Fork 373
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
Use pixi over setup scripts on CI + local dev #4302
Conversation
pixi.toml
Outdated
@@ -47,6 +47,9 @@ py-test = { cmd = "python -m pytest -vv rerun_py/tests/unit", depends_on = [ | |||
"py-build", | |||
] } | |||
|
|||
# Needs `--target TARGET` | |||
build-rerun-cli = { cmd = "cargo build --locked -p rerun-cli --no-default-features --features native_viewer,web_viewer --release" } |
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.
This is a bit of an "abstraction leak", because you have to go look at the task in pixi.toml
to know that you can add --target TARGET
to the end... You can't really assume anything about these tasks, because they're inline scripts. You have to just know that they use certain env vars and accept extra arguments.
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.
That is, unless we have a convention that every one of these inline scripts which are meant to accept arguments are wrapped in a python script with argparse
for the inputs or something along those lines. But that seems like a lot of work for just accepting some arguments and spawning a process with them 😅
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.
I just realised you can do pixi run <tool>
instead of creating a task for it to run in the context of pixi. I kind of jumped around in the docs so this wasn't obvious to me at first.
It seems to me like the GHA cache is so slow that For example:
I actually tested the CLI binary produced by the latter, and it seemed to work just fine. |
|
@@ -4,6 +4,6 @@ opencv-python<4.6 # Avoid opencv-4.6 since it rotates images incorrectly (https: | |||
pillow | |||
requests>=2.31,<3 | |||
rerun-sdk | |||
timm==0.6.11 | |||
timm==0.9.11 |
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.
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.
very nice, love where this is going
@@ -287,7 +287,6 @@ jobs: | |||
- uses: prefix-dev/[email protected] | |||
with: | |||
pixi-version: v0.6.0 | |||
cache: true |
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.
what did this do and why don't we want it anymore? :)
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 builds a ~600 MB cache that takes 4 minutes to save. I'm not really sure why, but everything is still fast woithout it.
What
Part of #4170
scripts/setup_dev.sh
these continue to be installed viacargo
toolscargo
pngcrush
pixi
does not have it, removed usage of it instead because it only seemed to have limited effects in my testing, and PIL already optimizes when saving.addednox
viapipx
nox
directlyclang-format
flatbuffers
scripts/setup_web.sh
wasm32-unknown-unknown
target (already part ofrust-toolchain
file)binaryen
forwasm-opt
onlyscripts/setup.sh
cmake
gtk3
,openssl
,apache-arrow
),these should be specified in documentation somewhere for the most common linux distributions.
ci_docker/Dockerfile
setup_web.sh
, but it doesn't need to. We just need to ensure it installs the targets specified inrust-toolchain
setup
scriptsThere is still a long-tail of things that need to be done before we can delete the scripts, and the scope of that is too large for this PR.
Checklist