fix(patches): validator portability, clearer docs, broader hook trigger

This commit is contained in:
Patrick Schratz 2026-06-30 09:17:24 +02:00
commit f3f3bfa20d
Signed by: pat-s
GPG key ID: 3C6318841EF78925

View file

@ -0,0 +1,59 @@
# Task A8 Report: End-to-end patch test and version bump
## Summary
Task A8 completed successfully. All three steps implemented:
1. Added guarded e2e test to test-patches.R
2. Bumped version to 4.3.0.9999 in DESCRIPTION
3. Prepended NEWS entry to NEWS.md
Commit: d1efec8
## Test Run Output
```
$ cd /Users/pjs/git/codefloe.com/rpkgs/bincraftr && Rscript -e 'devtools::load_all("."); testthat::test_file("tests/testthat/test-patches.R")'
i Loading bincraft
SKIP: 'test-patches.R:246:3' ----------------------
Reason: nzchar(Sys.getenv("BINCRAFT_PATCH_E2E")) is not TRUE
[ FAIL 0 | WARN 0 | SKIP 1 | PASS 38 ]
```
## Changes Made
### 1. test-patches.R
Added guarded e2e test at line 246. The test:
- Skips unless BINCRAFT_PATCH_E2E env var is set (via `skip_if_not(nzchar(Sys.getenv("BINCRAFT_PATCH_E2E")))`)
- Skips if offline (via `skip_if_offline()`)
- Creates a patches registry with RcppParallel env override
- Calls `build_binary_package()` on rts2 with patches
- Expects result to be TRUE or "skipped"
### 2. DESCRIPTION
Bumped `Version:` from `4.2.2.9999` to `4.3.0.9999`
### 3. NEWS.md
Prepended new section:
```markdown
# bincraft 4.3.0
* `build_binary_package()` gains a `patches` argument: a registry of
per-package env / configure / Makevars overrides and source diffs that are
pre-built into patched binaries and served to pak, fixing compiler- and
OS-specific failures (e.g. RcppParallel) including for transitive deps.
```
## Commit
```
[feat/package-patching d1efec8] test(patches): guarded end-to-end test; bump to 4.3.0.9999
3 files changed, 30 insertions(+)
```
## Test Result Summary
- All 38 prior tests PASS
- New e2e test SKIPPED (expected — BINCRAFT_PATCH_E2E not set)
- No failures or warnings
- Test will run (not skip) when container executes with `BINCRAFT_PATCH_E2E=1` set
## Environment Note
The guarded e2e test correctly skips in the local environment (BINCRAFT_PATCH_E2E not set). The actual test execution is deferred to the Linux build-env Docker container run with `BINCRAFT_PATCH_E2E=1` environment variable, where it will build rts2 with the RcppParallel patch applied.