Currently we only consistently test the code with one set of dependency versions on each platform. It's usually either the latest one of the one installed by default. If we use anything else, it's coincidental - when a different version happens to come with some non-standard CI image.
As pointed out in https://github.com/ethereum/solidity/issues/15117#issuecomment-2120479550, we should really have a CI run with the minimum supported versions to detect breakage. In most cases this breakage is harmless, because it only results in a failure to build, but there have been cases of semantic changes in Boost that resulted in the compiler producing different output (e.g. https://github.com/boostorg/multiprecision/issues/129 or all the various changes to boost::filesystem that affect import processing). Nowadays these will often be caught by tests, but to catch them, have to run them in the first place.
I think it would be enough to have such a run on Linux, as we support the widest range of versions, so it should catch vast majority of problems of this kind.
Currently we only consistently test the code with one set of dependency versions on each platform. It's usually either the latest one of the one installed by default. If we use anything else, it's coincidental - when a different version happens to come with some non-standard CI image.
As pointed out in https://github.com/ethereum/solidity/issues/15117#issuecomment-2120479550, we should really have a CI run with the minimum supported versions to detect breakage. In most cases this breakage is harmless, because it only results in a failure to build, but there have been cases of semantic changes in Boost that resulted in the compiler producing different output (e.g. https://github.com/boostorg/multiprecision/issues/129 or all the various changes to
boost::filesystem
that affect import processing). Nowadays these will often be caught by tests, but to catch them, have to run them in the first place.I think it would be enough to have such a run on Linux, as we support the widest range of versions, so it should catch vast majority of problems of this kind.