Use pixi over setup scripts on CI + local dev#4302
Conversation
pixi.toml
Outdated
| ] } | ||
|
|
||
| # 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.
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.
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.
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. |
|
|
| requests>=2.31,<3 | ||
| rerun-sdk | ||
| timm==0.6.11 | ||
| timm==0.9.11 |
There was a problem hiding this comment.
Wumpf
left a comment
There was a problem hiding this comment.
very nice, love where this is going
| - uses: prefix-dev/setup-pixi@v0.3.0 | ||
| with: | ||
| pixi-version: v0.6.0 | ||
| cache: true |
There was a problem hiding this comment.
what did this do and why don't we want it anymore? :)
There was a problem hiding this comment.
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.shthese continue to be installed viacargotoolscargopngcrushpixidoes 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.addednoxviapipxnoxdirectlyclang-formatflatbuffersscripts/setup_web.shwasm32-unknown-unknowntarget (already part ofrust-toolchainfile)binaryenforwasm-optonlyscripts/setup.shcmakegtk3,openssl,apache-arrow),these should be specified in documentation somewhere for the most common linux distributions.
ci_docker/Dockerfilesetup_web.sh, but it doesn't need to. We just need to ensure it installs the targets specified inrust-toolchainsetupscriptsThere 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