# Are there tools to help with testing upper bounds on package dependencies?

**URL:** <https://discourse.julialang.org/t/are-there-tools-to-help-with-testing-upper-bounds-on-package-dependencies/33909>\
**Category:** Tooling\
**Tags:** package, development\
**Created:** [January 28, 2020, 11:09pm UTC](https://discourse.julialang.org/t/are-there-tools-to-help-with-testing-upper-bounds-on-package-dependencies/33909 "2020-01-28T23:09:56Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![xiaodai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xiaodai/32/15937_2.png) [@xiaodai](https://discourse.julialang.org/u/xiaodai)\
**Post date:** [January 28, 2020, 11:09pm UTC](https://discourse.julialang.org/t/are-there-tools-to-help-with-testing-upper-bounds-on-package-dependencies/33909/1 "2020-01-28T23:09:56Z")

</div>

Following the changes to the package registration processes, it’s good to put upper bounds on packages for auto-approval. However, this causes another minor issue which is that when a package’s dependencies’ semver upgrades to a new version, I would need to 1) find which of the dependencies has updated, test my package and tag a new version.

Theoretical this process of updating package version (with no new functionalities) can be achieved in an automated fashion. Just wondering if anyone has already made a tool to ease the process before I write my own.

---

<div class="post-metadata">

**Author:** ![ericphanson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ericphanson/32/215186_2.png) [@ericphanson](https://discourse.julialang.org/u/ericphanson)\
**Post date:** [January 29, 2020, 12:13am UTC](https://discourse.julialang.org/t/are-there-tools-to-help-with-testing-upper-bounds-on-package-dependencies/33909/2 "2020-01-29T00:13:24Z")

</div>

[CompatHelper.jl](https://github.com/bcbi/CompatHelper.jl) is a GitHub action that makes PRs to bump versions of your package’s dependencies; then your CI runs to test it, and you can just merge the PR if the tests pass.

---

<div class="post-metadata">

**Author:** ![xiaodai](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/xiaodai/32/15937_2.png) [@xiaodai](https://discourse.julialang.org/u/xiaodai)\
**Post date:** [January 30, 2020, 5:23am UTC](https://discourse.julialang.org/t/are-there-tools-to-help-with-testing-upper-bounds-on-package-dependencies/33909/3 "2020-01-30T05:23:09Z")

</div>

Is it meant to work on the [deps] entries or just the[compat] entries

---

<div class="post-metadata">

**Author:** ![ericphanson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ericphanson/32/215186_2.png) [@ericphanson](https://discourse.julialang.org/u/ericphanson)\
**Post date:** [January 30, 2020, 11:34am UTC](https://discourse.julialang.org/t/are-there-tools-to-help-with-testing-upper-bounds-on-package-dependencies/33909/4 "2020-01-30T11:34:35Z")

</div>

My understanding is for each package with a [deps] entry, if it doesn’t already have a corresponding [compat] entry, it makes a PR to add one (with the latest version of the package), and if it does have a [compat] entry that excludes the latest version of the package, it makes a PR to widen the compat to include that package. It does these checks once an hour (well, however often you configure the workflow to run).
