-
Notifications
You must be signed in to change notification settings - Fork 109
Use uv to run CI #973
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
base: main
Are you sure you want to change the base?
Use uv to run CI #973
Conversation
Signed-off-by: Alain Denzler <[email protected]>
|
thanks @adenzler-nvidia! |
|
yes, looks super relevant. Not sure if everything on this matrix needs to be tested on each PR, I think for forward compatibility it's ok to have nightlies (for uv-locked mujoco + nightly warp, or uv-locked warp and nightly mujoco). |
|
The other thing we need (which I didn't include but we probably should) is to make sure pyproject.toml specifies correct min version that actually work. For example, the warp-lang requirement of >= 1.9.0 likely doesn't work. |
|
@thowell wondering what we should do with this. I think the dev/release questions are probaby going to be much better once there is a proper release schedule. But are the version we have in uv.lock considered dev or release versions? I think it makes sense to test with the versions we have in uv.lock for the PR ci, compared to just getting latest. That's the whole point of having a uv.lock file? What do you think? |
|
@btaba what are your thoughts on this and what do you recommend? |
| python -m pip install --upgrade pip | ||
| pip install uv |
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's also simpler just to use the setup-uv action as recommended in the uv docs (https://docs.astral.sh/uv/guides/integration/github/) instead of installing via pip
This PR changes the CI to use the dependency versions locked in the uv.lock file. Right now CI tests against latest dev version of warp and mujoco, which means the uv workflow is untested and we have no test for known-good dependencies.
I made this a draft because there's definitely a discussion to be had here. My stance is that we should have nightlies for dev versions of mujoco/warp and use the uv workflow for the package that ships/users will use. Like this, any change that needs a change in minimum versions should be including a version upgrade as well, and we explicitly know when we are breaking dependencies.
But I probably don't have the full picture here, so let's discuss.