crystal-lang / crystal

The Crystal Programming Language
https://crystal-lang.org
Apache License 2.0
19.51k stars 1.62k forks source link

Automatic testing for compiler backward compatibility #14206

Open straight-shoota opened 10 months ago

straight-shoota commented 10 months ago

We're currently not testing that a new compiler works with older versions of the standard library. Such a test would've been able to detect and prevent #14194.

We should set up an automated test to ensure compiler changes are backwards compatible with older versions of the standard library.

In x86_64-gnu-test we're testing that the current stdlib and compiler build with an older compiler version. Now we also need the other way around. It would probably be sufficient to test against the outer limits, i.e. the previous release and the lowest supported release (at this point: 1.0).

HertzDevil commented 10 months ago

For reference, the LLVM intrinsic name issue was mentioned in #13348

Fryguy commented 10 months ago

Would it help to regularly run https://github.com/crystal-lang/bootstrap-script ?

HertzDevil commented 10 months ago

That's only for forward builds, not backward

straight-shoota commented 10 months ago

Yeah, and we're already testing this in x86_64-gnu-test.