You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(Discussed with @Niols during the Topiary weekly.)
Is your feature request related to a problem? Please describe.
Currently, the dependencies used by Topiary are pinned to specific versions (or, at least, minor versions). Often, during development, those versions are bumped in the Cargo.lock. When distributing Topiary, to enable building on the widest range of targets as possible, it would make sense to allow a range of versions for each dependency.
(n.b.: Dependencies include the Rust toolchain.)
Describe the solution you'd like
The easiest thing to do, rather than investigating all combinations of dependency versions is to pick a point that is the "minimum" set of dependency versions for the range. Thereafter, the range could be extended into newer versions of each dependency.
A scheduled CI job could be created to check that the minimum and maximum sets still build correctly.
Additional context
Once a range is established, care should be taken when developing new PRs; especially those that introduce new dependencies or extend existing dependencies' ranges.
The text was updated successfully, but these errors were encountered:
Yes, but it's not just about necessary features and fixes. It's also about staying on top of breaking changes in new versions, so we don't get stuck in a technical debt hole with dependency versions that are no longer managed and can no longer be upgraded easily.
(Discussed with @Niols during the Topiary weekly.)
Is your feature request related to a problem? Please describe.
Currently, the dependencies used by Topiary are pinned to specific versions (or, at least, minor versions). Often, during development, those versions are bumped in the
Cargo.lock
. When distributing Topiary, to enable building on the widest range of targets as possible, it would make sense to allow a range of versions for each dependency.(n.b.: Dependencies include the Rust toolchain.)
Describe the solution you'd like
The easiest thing to do, rather than investigating all combinations of dependency versions is to pick a point that is the "minimum" set of dependency versions for the range. Thereafter, the range could be extended into newer versions of each dependency.
A scheduled CI job could be created to check that the minimum and maximum sets still build correctly.
Additional context
Once a range is established, care should be taken when developing new PRs; especially those that introduce new dependencies or extend existing dependencies' ranges.
The text was updated successfully, but these errors were encountered: