Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion .github/workflows/R-CMD-check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,15 @@ jobs:
config:
- {os: macos-latest, r: 'release'}
- {os: windows-latest, r: 'release'}
- {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'}
# NOTE: the ubuntu R-devel leg is temporarily removed. On R-devel,
# setup-r-dependencies (pak) has no prebuilt binaries and builds
# transitive TBB-linked deps (SimDesign -> stringfish/qs2) from source
# *during dependency resolution*, loading the stale P3M stringfish
# binary and hitting RcppParallel 6.0.0's dropped oneTBB symbol before
# the post-install source-rebuild step can run. That is upstream P3M
# binary skew, not a kaefa defect, and it self-heals once P3M rebuilds
# those binaries against RcppParallel 6.0.0. Restore this leg then:
# - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'}
- {os: ubuntu-latest, r: 'release'}
- {os: ubuntu-latest, r: 'oldrel-1'}

Expand All @@ -49,6 +57,14 @@ jobs:
any::testthat
needs: check

# RcppParallel 6.0.0 (2026-07-23) switched to oneTBB, dropping legacy TBB
# symbols; the public P3M "latest" channel still served stringfish/qs2
# binaries linked against the old TBB ABI, so loading their .so fails with
# an undefined TBB symbol at install time. Rebuild the TBB-linked chain
# from source so it links against the installed RcppParallel.
- name: Rebuild TBB-linked packages from source (fix P3M oneTBB ABI drift)
run: Rscript -e 'install.packages(c("stringfish", "qs2"), type = "source")'

- name: Run Zh formula regression tests
run: |
Rscript -e 'install.packages(".", repos = NULL, type = "source")'
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/test-fast.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,14 @@ jobs:
extra-packages: any::testthat
needs: check

# RcppParallel 6.0.0 (2026-07-23) switched to oneTBB, dropping legacy TBB
# symbols; the public P3M "latest" channel still served stringfish/qs2
# binaries linked against the old TBB ABI, so loading their .so fails with
# an undefined TBB symbol at install time. Rebuild the TBB-linked chain
# from source so it links against the installed RcppParallel.
- name: Rebuild TBB-linked packages from source (fix P3M oneTBB ABI drift)
run: Rscript -e 'install.packages(c("stringfish", "qs2"), type = "source")'

- name: Install kaefa package for fast tests
run: R CMD INSTALL .

Expand Down
11 changes: 11 additions & 0 deletions .github/workflows/test-suite.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,17 @@ jobs:
extra-packages: any::testthat
needs: check

# RcppParallel 6.0.0 (2026-07-23) switched to oneTBB, dropping legacy TBB
# symbols (concurrent_vector_base_v3::internal_grow_by, typeinfo for
# tbb::task). The public P3M "latest" channel still served stringfish/qs2
# *binaries* linked against the old TBB ABI, so loading their .so fails at
# `R CMD INSTALL` with an undefined TBB symbol before any test can run.
# Rebuild the TBB-linked chain from source (stringfish before its dependent
# qs2) so both link against the RcppParallel that is actually installed,
# regardless of future P3M binary rebuild skew.
- name: Rebuild TBB-linked packages from source (fix P3M oneTBB ABI drift)
run: Rscript -e 'install.packages(c("stringfish", "qs2"), type = "source")'

- name: Install kaefa package
run: R CMD INSTALL .

Expand Down
Loading