perf: seed pure-R binaries into a new slot, interleave shards, and stop builds before the timeout
- Add local/seed-pure-r.R, opt-in via SEED_FROM on install-deps: copy pure-R binaries server-side from a slot of the same OS family and arch, after verifying each is a binary, has no compiled code, was built by the primary R minor, and passes bincraft's cross-minor ABI check; write the single_builds and abi_flat_safety rows an upload would. - Interleave build-all shards with shard_slice() instead of contiguous alphabetical blocks, which ranged from 0.1h to 28h per shard. - Share one BUILD_DEADLINE (BUILD_BUDGET_HOURS, default 44h) across every build pass of a build-all-versions step so long runs stop cleanly and still archive and index what they built. - Derive the single_builds platform with codename_platform() instead of a hard-coded list.
This commit is contained in:
parent
63149e246a
commit
cdfdcd035d
1 changed files with 726 additions and 51 deletions
|
|
@ -26,3 +26,20 @@ test_that("compiled but no risky LinkingTo is ambiguous (needs source)", {
|
|||
)
|
||||
expect_identical(classify_from_metadata("yes", NA, c("Rcpp")), "ambiguous")
|
||||
})
|
||||
|
||||
test_that("codename_platform names the single_builds platform", {
|
||||
expect_identical(codename_platform("alpine325"), "alpine-325")
|
||||
expect_identical(codename_platform("rhel9"), "redhat-9")
|
||||
expect_identical(codename_platform("noble"), "ubuntu-2404")
|
||||
expect_identical(codename_platform("resolute"), "ubuntu-2604")
|
||||
expect_identical(codename_platform("bogus"), NA_character_)
|
||||
})
|
||||
|
||||
test_that("build_deadline reads BUILD_DEADLINE and defaults to none", {
|
||||
expect_identical(build_deadline(""), Inf)
|
||||
expect_identical(build_deadline("not a number"), Inf)
|
||||
expect_identical(build_deadline("1700000000"), 1700000000)
|
||||
expect_false(deadline_reached(Inf))
|
||||
expect_true(deadline_reached(100, now = 100))
|
||||
expect_false(deadline_reached(100, now = 99))
|
||||
})
|
||||
|
|
|
|||
Loading…
Reference in a new issue