Skip to content

fix: preserve $INPUT DROP flags in create_model_from_file() (#101) #447

fix: preserve $INPUT DROP flags in create_model_from_file() (#101)

fix: preserve $INPUT DROP flags in create_model_from_file() (#101) #447

Workflow file for this run

# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
name: R-CMD-check
jobs:
R-CMD-check:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.os }} (${{ matrix.config.r }})
strategy:
fail-fast: false
matrix:
config:
# Pinned to R 4.5: P3M ships binaries for most of the nlmixr2/rxode2
# chain (incl. stringfish) on 4.5, so little is compiled from source.
# On 'release'/4.6 those binaries don't exist yet, so the whole chain
# (stringfish included) builds from source and hits the RcppParallel
# legacy-TBB load failure. qs2 has no binary on either and is handled
# by the --without-TBB install step below.
- {os: ubuntu-latest, r: '4.5'}
#- {os: macos-latest, r: 'release'}
#- {os: windows-latest, r: 'release'}
#- {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'}
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes
steps:
- uses: actions/checkout@v4
- uses: r-lib/actions/setup-pandoc@v2
- name: Install curl
run: |
sudo apt-get update
sudo apt-get install -y libcurl4-openssl-dev
- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ matrix.config.r }}
http-user-agent: ${{ matrix.config.http-user-agent }}
use-public-rspm: true
# qs2 (pulled in by rxode2) has no P3M binary and builds from source; it
# then links RcppParallel's legacy TBB and its .so fails to load against
# the runner's oneTBB (undefined symbol typeinfo for tbb::task). Its
# configure supports --without-TBB, which selects the TinyThread++ backend
# and references no TBB symbols. Install it here first (deps, incl. the
# stringfish binary, resolve normally) so pak reuses this build. stringfish
# itself has a P3M binary on R 4.5, so it needs no source workaround.
- name: Install qs2 without TBB (avoids oneTBB tbb::task load failure)
run: |
install.packages(c("Rcpp", "RcppParallel", "stringfish"))
install.packages("qs2", type = "source",
configure.args = c(qs2 = "--without-TBB"))
shell: Rscript {0}
- uses: r-lib/actions/setup-r-dependencies@v2
with:
pak-version: devel
extra-packages: |
any::rcmdcheck
cran/lotri
cran/rxode2
cran/nlmixr2est
cran/nlmixr2extra
cran/nlmixr2plot
pharmpy/pharmr@v2.0.0
InsightRX/irxutils
InsightRX/PKPDsim
needs: check
- name: Install pharmpy
run: pharmr::install_pharmpy()
shell: Rscript {0}
# pharmpy's nlmixr backend reads a fit's RDATA through pyreadr and imports
# it eagerly, so `parse_modelfit_results()` raises ModuleNotFoundError
# without it. Not pulled in by `install_pharmpy()`.
- name: Install pyreadr (pharmpy nlmixr backend dependency)
run: reticulate::py_install("pyreadr")
shell: Rscript {0}
- uses: r-lib/actions/check-r-package@v2
with:
args: 'c("--no-manual", "--as-cran")'
upload-snapshots: true
error-on: '"error"'
check-dir: '"check"'