You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Consider OS version when matching artifacts to platforms
We currently largely ignore OS version, and for most platforms that
doesn't really matter. But binaries built for a particular FreeBSD
version are forward- but not backward-compatible with other FreeBSD
versions, and that isn't accounted for when choosing artifacts. That
means that whenever the FreeBSD version used in the RootFS is bumped,
entries in Artifacts.toml corresponding to older versions need to be
manually deleted so they don't get chosen instead.
More care is needed here than I had anticipated, as `platforms_match`
has documented but unfortunate behavior when both arguments have
`compare_version_cap` set for their `os_version` comparison strategies.
The function assumes that this case occurs only when both arguments are
host platforms, and it compares their versions using `==`. That strategy
is set explicitly for `CompilerShard` targets with a comment about
treating the OS version as a bound, except it doesn't act as a bound as
such if the comparator is e.g. `HostPlatform()`.
0 commit comments