The GitHub Actions job "Tests" on airflow.git has succeeded.
Run started by GitHub user potiuk (triggered by potiuk).

Head commit for run:
af007a5fa179f8880139b846cdef4ee0f22971f4 / Jarek Potiuk <[email protected]>
fIx constraints use in CI image after uv change (#37845)

With the change to switch to uv, we skipped constraints being used
in CI image - in effect all PR were not using constraints, but they
were using not constraint dependencues but lowest-direct
mode of installation so direct dependencies would not be upgraded
in such case, only the transitive ones, so the risk of failure was
anyhow small even if someone released a new, breakong dependency.

The reason is that `uv` currently does not support installing
constraints from URL. We had been silently failing back to the
"no-constraints" way in such case (this is default mode if for any reason
constraint build fail in such case.

It introduced the risk that in case 3rd-party breaking dependency
was released it would also start breaking regular PRs,
not only the "canary" build.

We fix it by downloading constraints locally when they are remote and
using them from there.

While this is being worked on in https://github.com/astral-sh/uv/pull/2081
and likely to land in uv 0.1.14, it's also a good idea to actually
download the constraints and keep them around - this might be handy
if you want to later use constraints to install "golden" set of
dependencies wihtout necessity to build the right URL - you can always
use `${HOME}/constraints.txt`.

This PR fixes it and also changes the fallback mechanism to perform the
lowest-direct upgrade only in case the constraint build fails, rather
than always run the lowest-dirct upgrade even if constraints install
works fine - this will make sure that most PRs are using exactly the
constraint version of the dependencies (at least the version of
constraints that were generated last time when pyproject.toml changed).

Report URL: https://github.com/apache/airflow/actions/runs/8122140741

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to