JuliaRegistries / JuliaRegistries/CompatHelper.jl

Updating dependencies that depend on each other

Open
#402 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Julia
Stars
147
Forks
43
Avg merge
21h 27m
Merged PRs (30d)
2

Description

Take the example of NeuralPDE.jl https://github.com/SciML/NeuralPDE.jl/blob/master/Project.toml

it depends on SymbolicUtils, Symbolics, and ModelingToolkit

```julia
ModelingToolkit = "6.3.1, 6"
SymbolicUtils = "0.13, 0.14, 0.15, 0.16"
Symbolics = "3"
```

And Symbolics depends on SymbolicUtils, and ModelingToolkit (MTK) depends on both SymbolicUtils and Symbolics.

1. version v0.18 of SymbolicUtils was released
CompatHelper opened a PRs 1 bumping the version in Symbolics, MTK and NeuralPDE, but the CI for this will fail because NeuralPDE depends on a Symbolics that does not yet support SymbolicUtils v0.18
2. a couple of days later Symbolics was updated to use it and generated a breaking release of Symbolics -- v4.0
CompatHelper opened a PRs 2 bumping only Symbolics in MTK and NeuralPDE, now the CI for this PR (which in theory should be good to go on MTK) will fail because the previous PR updating SU was not yet merged because it cannot be tested.
3. a few days later we manually updated ModelingToolkit and released version 7.0.0, at which point new PRs 3 was generated on NeuralPDE bumping only the MTK version -- again untestable because they still depend on Symbolics and SymbolicUtils which are not compatible with the new version of MTK.

A good solution would be:

When opening a version bump of Symbolics (v4.0) on package X, make sure that X all dependencies X and Symbolics share are also bumped to the highest version Symbolics requires in the same PR.

In this way the 3rd PR at least can be tested by CI.

Further, it can also be useful to just close the old PR (bumping SymbolicUtils) automatically when a new PR like the above bumps both Symbolics and SymbolicUtils together.

maybe related to https://github.com/JuliaRegistries/CompatHelper.jl/issues/126 and others?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.