fix(build): keep source fallbacks out of the S3 package cache #159

Merged
pat-s merged 1 commit from fix/cache-excludes-source-fallback into main 2026-08-09 16:27:51 +00:00

2026-08-09

fix(build): keep source fallbacks out of the S3 package cache
The cache handed to build_binary_package() as s3_package_cache was the raw
bucket listing, and the build list subtracted the same listing. Neither could
tell a binary from a package whose build failed and was published as its CRAN
source, so every source fallback read as "already built" and was skipped for
good - which is how alpine324 accumulated ~13.5k of them.

- drop objects the slot's index reports as served from source, which bincraft
  marks by leaving the Built stamp off
- build s3_dt from the filtered listing too, since it is subtracted from the
  build list and would otherwise exclude the packages that need building
- log how many objects were dropped

Archived objects have no index record and are kept: unknown means binary, never
"rebuild it". A slot last indexed by a bincraft that predates the Built change
stamps everything, so its cache is unchanged from before.
2026-08-09 16:25:13 +00:00