fix: preserve $INPUT DROP flags in create_model_from_file() (#101) #447
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # 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"' |