revert(build): drop 4.6.0 as a primary R version option #186

Merged
pat-s merged 1 commit from revert/build-all-versions-46 into main 2026-08-31 13:29:04 +00:00
Showing only changes of commit d2b88f54be - Show all commits

revert(build): drop 4.6.0 as a primary R version option

#183 added it so the per-minor pass could run under 4.6. That was
unnecessary: build-all-versions already loops every installed interpreter
and runs build-all.R --sensitive-only for each non-primary minor, so the
4.6 pass happens when the pipeline runs with the slot's normal
R_VERSION.

Worse than unnecessary, it is a footgun. R_VERSION selects the *primary*
minor, whose build lands in the generic slot. Choosing 4.6.0 for a slot
whose generic binaries are 4.5-built would publish 4.6 binaries there and
break every 4.5 client - the mirror image of the bug this all started
with.
Patrick Schratz 2026-08-31 13:26:39 +00:00
No known key found for this signature in database
GPG key ID: 62050D5BC68AB6DC

View file

@ -35,14 +35,16 @@ variables:
- 'resolute'
default: '3.24'
R_VERSION:
# The slot's *primary* R minor: what `local/build-all.R` builds into the
# generic slot. The loop below already runs `--sensitive-only` for every
# other installed minor, so filling a non-primary minor's gap needs this
# left alone, not changed.
#
# 4.6.0 was briefly offered here (#183) and removed: selecting it for a
# slot whose generic binaries are 4.5-built would publish 4.6 binaries
# into the generic slot and break every 4.5 client.
description: 'Primary R version under /opt/R.'
# The supported window is latest plus the two previous, which the build
# images install as R_VERSION_LATEST/PREV1/PREV2. 4.6.0 was missing here,
# so no pipeline could run the per-minor pass for it and its slots kept a
# backlog: rlang exists for 4.4 and 4.5 on amd64/resolute but not 4.6,
# which is how an R 4.6.1 client ended up loading a 4.5.3 binary.
options:
- 4.6.0
- 4.5.3
- 4.4.3
default: 4.5.3