astral-uv:zb/ecosystem-test-trans

Last commit made on 2024-04-10
Get this branch:
git clone -b zb/ecosystem-test-trans https://git.launchpad.net/astral-uv

Branch merges

Branch information

Name:
zb/ecosystem-test-trans
Repository:
lp:astral-uv

Recent commits

1e8a3d5... by Zanie Blue <email address hidden>

Add ecosystem test for huggingface

bbe46c0... by Zanie Blue <email address hidden>

Upgrade packse (#2963)

Should improve test performance with
https://github.com/astral-sh/packse/pull/169 thanks @konstin !

38ab39c... by Charlie Marsh <email address hidden>

Strip query string when parsing filename from HTML index (#2961)

## Summary

Closes https://github.com/astral-sh/uv/issues/2958.

c345a79... by Zanie Blue <email address hidden>

Add `python-patch` feature to isolate tests that require Python patch versions to match our suite (#2940)

Closes https://github.com/astral-sh/uv/issues/2165
Follows https://github.com/astral-sh/uv/pull/2930

273de45... by konstin

Remove rust 1.75 workaround (#2959)

15f0be8... by konstin

Allow profiling tests with tracing instrumentation (#2957)

To get more insights into test performance, allow instrumenting tests
with tracing-durations-export.

Usage:

```shell
# A single test
TRACING_DURATIONS_TEST_ROOT=$(pwd)/target/test-traces cargo test --features tracing-durations-export --test pip_install_scenarios no_binary -- --exact
# All tests
TRACING_DURATIONS_TEST_ROOT=$(pwd)/target/test-traces cargo nextest run --features tracing-durations-export
```

Then we can e.g. look at
`target/test-traces/pip_install_scenarios::no_binary.svg` and see the
builds it performs:

![image](https://github.com/astral-sh/uv/assets/6826232/40b4e094-debc-4b22-8aa3-9471998674af)

c4472eb... by Charlie Marsh <email address hidden>

Enforce and backtrack on invalid versions in source metadata (#2954)

## Summary

If we build a source distribution from the registry, and the version
doesn't match that of the filename, we should error, just as we do for
mismatched package names. However, we should also backtrack here, which
we didn't previously.

Closes https://github.com/astral-sh/uv/issues/2953.

## Test Plan

Verified that `cargo run pip install docutils --verbose --no-cache
--reinstall` installs `docutils==0.21` instead of the invalid
`docutils==0.21.post1`.

In the logs, I see:

```
WARN Unable to extract metadata for docutils: Package metadata version `0.21` does not match given version `0.21.post1`
```

997f3c9... by A-beingessner

chore: update axoupdater to 0.4.0 and add a test (#2938)

## Summary

This updates to the version of axoupdater used in cargo-dist 0.13.0's
own selfupdate command, with all relevant fixes for platforms. It also
tentatively introduces a mildly dangerous self-runtest that runs `uv
self update` and checks that the binary is installed and executable.

I *believe* some adjustments need to be made to your CI to have this new
test run, because it requires the `self-update` feature to be enabled,
and I didn't want to just start messing with how you do feature coverage
in your CI. **As a result I haven't yet had a chance to actually fully
run this in CI**, though I've locally tested it on windows (with the
guard disabled).

## Test Plan

Most of the machinery here is provided by axoupdater itself (cargo-dist
also includes a variant of these tests in its codebase). This initial
implementation has a couple major limitations:

* This is For Reals modifying the system that runs the test (so it's off
unless it detects it's running in CI, and if you want variations on this
test they'll need to be [run in
serial](https://github.com/axodotdev/cargo-dist/blob/5e7826f7b09a64e5ba9edc16dab8cee7b13daa27/cargo-dist/tests/cli-tests.rs#L235)).
Since many of the testing issues were surrounding precise details of
Actual Deployed Executions, this seemed worth the tradeoff.
* The actual installer *script* it's ultimately invoking is the one you
last published, and *not* the one that cargo-dist will make when you
next publish.

We're already working on implementing some logic for "get cargo-dist to
generate a fresh installer script too", which is in fact the basis of a
huge amount of cargo-dist's own testsuite. Now that we're dogfooding
this stuff, it should be quite hard for this stuff to break without
cargo-dist's own codebase noticing it first.

<!-- How was it tested? -->

7ae06b3... by Charlie Marsh <email address hidden>

Surface invalid metadata as hints in error reports (#2850)

## Summary

Closes #2847.

ee90599... by Zanie Blue <email address hidden>

Add ecosystem test for Prefect (#2942)

Reproduced https://github.com/astral-sh/uv/issues/2941 and confirmed
fix.

We probably ought to have some ecosystem test coverage — this seems like
a good starting point we can extend to other projects in the future.