Skip to content
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

Pruned versions make specific uv versions unable to compile #8932

Closed
Flamefire opened this issue Nov 8, 2024 · 6 comments
Closed

Pruned versions make specific uv versions unable to compile #8932

Flamefire opened this issue Nov 8, 2024 · 6 comments
Assignees
Labels
bug Something isn't working

Comments

@Flamefire
Copy link

I recently tried to recompile uv 0.2.30 (for testing) which has a dependency on reqwest-middleware and reqwest-retry:
https://github.com/astral-sh/uv/blob/0.2.30/Cargo.lock#L3123

However that specific commit does no longer exist/is dangling: astral-sh/reqwest-middleware@21ceec9

It will be removed from GitHub when the reflog expires (about 90 days IIRC)

Can you please do either of

  1. avoid removing commits from repositories that are used elsewhere
  2. tag such commits (e.g. as reqwests-uv-2.x) to avoid them from expiring
  3. avoid using commits not in some branch that will not be deleted, such as main

Otherwise this creates headaches for maintainers of "build scripts", e.g. packages for distros, container images or us at EasyBuild (software build software for HPC)

@charliermarsh
Copy link
Member

charliermarsh commented Nov 8, 2024

I don't know what happened there but in general we always tag commits that we use in VCS for this reason. It looks like an oversight by @konstin. We can tag that commit to fix this one up.

@charliermarsh charliermarsh added the bug Something isn't working label Nov 8, 2024
@charliermarsh charliermarsh self-assigned this Nov 8, 2024
@charliermarsh
Copy link
Member

Is there a way to get Cargo to fail when building this? Or rather, how did you even detect this?

@charliermarsh
Copy link
Member

@Flamefire
Copy link
Author

Is there a way to get Cargo to fail when building this? Or rather, how did you even detect this?

I would expect cargo to fail unless it has the dependency cached. I.e. deleting $HOME/.cargo or setting $CARGOHOME to some empty folder should make it try to download it and fail. Unless it fetches the specific commit directly, which I guess it does. That will work until the reflog is pruned.

In our case we detected that after cloning the repo and trying to checkout the commit (in some generic code that vendors crates)

@charliermarsh
Copy link
Member

(I think it worked for me because Konsti had already fixed it, and I didn't realize.)

konstin added a commit to konstin/reqwest-middleware that referenced this issue Nov 8, 2024
Hi,

I'd like to ask for new releases for the middleware crates: reqwest-middleware 0.4.0, reqwest-retry 0.7.0 and reqwest-tracing 0.5.4.

In [uv](https://github.com/astral-sh/uv), we're currently using a git dependency for TrueLayer#159, and we'd like to move to a crates.io dependency (astral-sh/uv#8932).

I've bump reqwest-middleware and reqwest-retry according to being breaking changes in the error type, while requiring reqwest-middleware `>0.3.0, <0.5.0` in reqwest-retry and reqwest-tracing for minimal downstream disruption.
@konstin
Copy link
Member

konstin commented Nov 8, 2024

Upstreamed this to ask for crates.io releases: TrueLayer/reqwest-middleware#198

I've also tagged the version we're using in uv 0.5.0 in the meantime.

eopb pushed a commit to TrueLayer/reqwest-middleware that referenced this issue Nov 11, 2024
Hi,

I'd like to ask for new releases for the middleware crates: reqwest-middleware 0.4.0, reqwest-retry 0.7.0 and reqwest-tracing 0.5.4.

In [uv](https://github.com/astral-sh/uv), we're currently using a git dependency for #159, and we'd like to move to a crates.io dependency (astral-sh/uv#8932).

I've bump reqwest-middleware and reqwest-retry according to being breaking changes in the error type, while requiring reqwest-middleware `>0.3.0, <0.5.0` in reqwest-retry and reqwest-tracing for minimal downstream disruption.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants