How to configure CI for depending packages

I am working on some “Low” and “High” packages in tandem, High depends on Low, both registered.

On my machine I Pkg.dev-ed Low from High so when I add a feature to Low, it is immediately visible in High. When I push Low, build successes. Great!

The problem is that I do not want to immediately release a new version of Low, because WIP, but I would like to push some new code to High and see the CI testing it. But the CI uses the registered version of Low, because Manifest.toml is gitignored (and also contains a local path), so the build fails.

(Seems irrelevant but If not: CI is Travis, projects were generated with PkgSkeleton.jl’s default template)

What is the best way to solve this? I would like to avoid introducing new branches if possible.

Thanks in advance!

You can modify the test script used in your CI service to do add Low#master before running the tests. Or you can check in the Manifest, but then you’ll need to remember to manually update it whenever you do changes in Low that you want to test in High (and I’m a bit allergic to the use of Manifest.toml in CI for packages)

3 Likes