JuliaTesting / Aqua.jl

Auto QUality Assurance for Julia packages
MIT License
328 stars 24 forks source link

Check compat Julia versions of dependencies #253

Open jonschumacher opened 8 months ago

jonschumacher commented 8 months ago

Since Aqua now tests for the definition of the Julia version (https://github.com/JuliaTesting/Aqua.jl/pull/236), it would make sense to check if dependencies at their respective defined compat have a higher Julia version compat than the tested package. In that case, the required Julia version would essentially be the one of the dependency with the highest Julia requirement which should trigger at least a warning.

I am not aware of easy API e.g. in Pkg for checking this but maybe I am missing something.

fingolfin commented 5 months ago

If we go down that road, why stop at checking the Julia version? If A depends on B 1.0 and C 1.0; but B depends on C 1.1, then that could also warrant a warning.

lgoettgens commented 4 months ago

I think that this is not a future-proof way to do things.

Assume that A depends on julia 1.9 and B, and B depends on julia 1.10. You now suggest that A should update its compat bound to julia 1.10 as well. But my view is the following: If A does not use any features that are only available in 1.10 and later, the compat bound can stay at 1.9. If, in the future, B gets an update relaxing the required julia version to, say, 1.6, A would unnecessarily restrict users from using julia 1.9 (what would be fine according to everything earlier here).

So I am not a fan of this kind of test in Aqua.

jonschumacher commented 4 months ago

Yes, that’s why I said that this could warrant a warning. As an option this could be changed to a strict mode that lets the test fail.