fix(local): make trial-build-patch.R detect non-throwing build failures #134

Merged
pat-s merged 1 commit from t3code/fix-trial-build-patch-falsegreen into main 2026-07-18 08:37:05 +00:00

View file

@ -40,8 +40,11 @@ cat(sprintf(
patches_dir patches_dir
)) ))
ok <- tryCatch( # build_binary_package() catches build failures internally and RETURNS "error"
{ # for the failed tag rather than throwing (bincraft >= v4.4.7), so inspect the
# return value -- checking only for a thrown exception reports a broken build as
# passing (false green).
res <- tryCatch(
bincraft::build_binary_package( bincraft::build_binary_package(
package, package,
tag_limit = 1L, tag_limit = 1L,
@ -49,14 +52,14 @@ ok <- tryCatch(
archive = FALSE, archive = FALSE,
upload = FALSE, upload = FALSE,
store_build_metadata = FALSE store_build_metadata = FALSE
) ),
TRUE
},
error = function(e) { error = function(e) {
cat(sprintf("Trial build FAILED: %s\n", conditionMessage(e))) cat(sprintf("Trial build FAILED (threw): %s\n", conditionMessage(e)))
FALSE "error"
} }
) )
flat <- as.character(unlist(res))
ok <- length(flat) > 0L && !("error" %in% flat)
if (ok) { if (ok) {
cat(sprintf("Trial build OK: %s builds with the proposed patch.\n", package)) cat(sprintf("Trial build OK: %s builds with the proposed patch.\n", package))