# PSA: Add Downgrade CI to Better Check Version Compatibility

**URL:** <https://discourse.julialang.org/t/psa-add-downgrade-ci-to-better-check-version-compatibility/110063>\
**Category:** Community\
**Tags:** package, package-manager, semver, versioning\
**Created:** [February 11, 2024, 12:56pm UTC](https://discourse.julialang.org/t/psa-add-downgrade-ci-to-better-check-version-compatibility/110063 "2024-02-11T12:56:01Z")\
**Posts on this page:** 1\
**Showing post:** 33

<div class="post-metadata">

**Author:** ![Mason](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mason/32/2423_2.png) [@Mason](https://discourse.julialang.org/u/Mason)\
**Post date:** [February 18, 2024, 10:16am UTC](https://discourse.julialang.org/t/psa-add-downgrade-ci-to-better-check-version-compatibility/110063/33 "2024-02-18T10:16:51Z")

</div>

I tried out the downgrade CI on some simple packages with few deps and it was great, but trying to use it on a big package with many deps just felt like a total waste of time. It needs to do something smarter than just pinning everything to the minimum versions.

> [@cjdoris](#):
>
> The trouble with that is that there can be multiple sets of minimal resolvable packages (exponentially many in the worst case) so what do we do then? Just pick one?

This is the exact same problem as trying to install the newest available versions of packages, just flipping the sign of the inequality operator.

Presumably we could just re-use a lot of the resolver code from Pkg, but just flip the comparison operator so it tries to find the oldest installable set of packages instead of the newest installable set.

---

_[View the full topic](https://discourse.julialang.org/t/psa-add-downgrade-ci-to-better-check-version-compatibility/110063)._
