Skip to content

v2.7.0

Latest

Choose a tag to compare

@ChrisRackauckas ChrisRackauckas released this 31 Jul 13:15
30b83cf

Fixes floors being silently discarded for old-style test layouts.

What was wrong

For a package using the old-style layout — test dependencies in [extras]/[weakdeps] plus [targets].test, with no test/Project.toml — the floors this action resolved were dropped before the tests ran.

The action folds [extras] into the merged [deps], min-resolves, and writes the floors to the project Manifest.toml. But Pkg.test does not run in the project environment: for an old-style layout it synthesizes a sandbox from [deps] plus the [targets].test names via Pkg.Operations.gen_target_project and resolves that fresh. A floor held only for a name reachable through [extras]/[weakdeps] never reached the sandbox, so it installed the newest compatible version instead. allow_reresolve: false did not prevent this.

The downgrade job therefore reported success while testing against current versions rather than the floors.

Impact

Minor rather than patch: downgrade jobs on old-style-layout packages that were passing may now legitimately fail, because they are testing the floors for the first time. That is the intended behaviour — a failure means the declared lower bounds do not actually work.

Consumers pinned to @v2 pick this up automatically.

See #57.