JuliaRegistries / RegistryCI.jl

Continuous integration (CI) tools for Julia package registries, including registry consistency testing, automatic merging (automerge) of pull requests, and automatic TagBot triggers
https://juliaregistries.github.io/RegistryCI.jl/stable
Other
31 stars 30 forks source link

The compress roundtrip check is not 100% effective since it uses strings. #457

Closed KristofferC closed 2 years ago

KristofferC commented 2 years ago

In https://github.com/JuliaRegistries/General/pull/65997 I effectively did a no-op by loading the Registry into the Pkg Registry datastructure and then saving it back out. However, this caused a big diff even though RegistryCI has a check for this https://github.com/JuliaRegistries/RegistryCI.jl/blob/b98ce77416e5e239700453f65c671c7769997c45/src/registry_testing.jl#L222-L223.

The reason for this is that the Compress.load is using strings and therefore sees a difference between version specs that are written differently but are in fact the same. For example in:

gnome-shell-screenshot-1s0rlw

my PR noticed that 0.2 and 0.2.0 - 0.2 where the same version range and collapsed that into the broader version range of the package above while this was missed in CI since the strings were different.