diff --git a/.github/workflows/check-non-master.yaml b/.github/workflows/check-non-master.yaml index c6f8e092..489959a6 100644 --- a/.github/workflows/check-non-master.yaml +++ b/.github/workflows/check-non-master.yaml @@ -32,45 +32,34 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: r-lib/actions/setup-pandoc@v1 + - uses: r-lib/actions/setup-pandoc@v2 - - uses: r-lib/actions/setup-r@v1 + - 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 - - uses: r-lib/actions/setup-r-dependencies@v1 + - uses: r-lib/actions/setup-r-dependencies@v2 with: - extra-packages: rcmdcheck + extra-packages: |< + any::rcmdcheck + any::bigmemory - - uses: r-lib/actions/setup-tinytex@v1 + - uses: r-lib/actions/setup-tinytex@v2 - name: Install Yihui packages run: | Rscript -e 'tinytex:::install_yihui_pkgs()' - - uses: r-lib/actions/check-r-package@v1 + - uses: r-lib/actions/check-r-package@v2 with: - build_args: '"--compact-vignettes=both", "--no-manual"' - error-on: '"error"' # osx complains about vignette compaction + build_args: 'c("--compact-vignettes=both", "--no-manual")' continue-on-error: ${{ matrix.config.r == 'devel' }} - - name: Show testthat output - if: always() - run: find check -name 'testthat.Rout*' -exec cat '{}' \; || true - shell: bash - - name: Test coverage if: runner.os == 'Linux' && matrix.config.r == 'release' run: | Rscript -e 'install.packages("covr")' Rscript codecov.R continue-on-error: true - - - name: Upload check results - if: failure() - uses: actions/upload-artifact@main - with: - name: ${{ runner.os }}-r${{ matrix.config.r }}-results - path: check diff --git a/.github/workflows/check-sanitizers.yaml b/.github/workflows/check-sanitizers.yaml index 19b34468..b9c402ed 100644 --- a/.github/workflows/check-sanitizers.yaml +++ b/.github/workflows/check-sanitizers.yaml @@ -50,7 +50,7 @@ jobs: run: | install.packages("remotes") library("remotes") - install_cran(c("codetools", "Matrix", "lattice")) + install_cran(c("codetools", "Matrix", "lattice", "bigmemory")) update(dev_package_deps(dependencies = TRUE)) - name: Check with sanitizers diff --git a/.github/workflows/check-standard.yaml b/.github/workflows/check-standard.yaml index 7861de32..62b1b3fd 100644 --- a/.github/workflows/check-standard.yaml +++ b/.github/workflows/check-standard.yaml @@ -31,45 +31,34 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: r-lib/actions/setup-pandoc@v1 + - uses: r-lib/actions/setup-pandoc@v2 - - uses: r-lib/actions/setup-r@v1 + - 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 - - uses: r-lib/actions/setup-r-dependencies@v1 + - uses: r-lib/actions/setup-r-dependencies@v2 with: - extra-packages: rcmdcheck + extra-packages: |< + any::rcmdcheck + any::bigmemory - - uses: r-lib/actions/setup-tinytex@v1 + - uses: r-lib/actions/setup-tinytex@v2 - name: Install Yihui packages run: | Rscript -e 'tinytex:::install_yihui_pkgs()' - - uses: r-lib/actions/check-r-package@v1 + - uses: r-lib/actions/check-r-package@v2 with: - build_args: '"--compact-vignettes=both", "--no-manual"' - error-on: '"error"' # osx complains about vignette compaction + build_args: 'c("--compact-vignettes=both", "--no-manual")' continue-on-error: ${{ matrix.config.r == 'devel' }} - - name: Show testthat output - if: always() - run: find check -name 'testthat.Rout*' -exec cat '{}' \; || true - shell: bash - - name: Test coverage if: runner.os == 'Linux' && matrix.config.r == 'release' run: | Rscript -e 'install.packages("covr")' Rscript codecov.R continue-on-error: true - - - name: Upload check results - if: failure() - uses: actions/upload-artifact@main - with: - name: ${{ runner.os }}-r${{ matrix.config.r }}-results - path: check diff --git a/.github/workflows/check-valgrind.yaml b/.github/workflows/check-valgrind.yaml index 90caa53b..76d82616 100644 --- a/.github/workflows/check-valgrind.yaml +++ b/.github/workflows/check-valgrind.yaml @@ -42,19 +42,21 @@ jobs: run: | /usr/bin/sudo DEBIAN_FRONTEND=noninteractive apt-get install -y valgrind - - uses: r-lib/actions/setup-pandoc@v1 + - uses: r-lib/actions/setup-pandoc@v2 - - uses: r-lib/actions/setup-r@v1 + - 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 - - uses: r-lib/actions/setup-r-dependencies@v1 + - uses: r-lib/actions/setup-r-dependencies@v2 with: - extra-packages: rcmdcheck + extra-packages: |< + any::rcmdcheck + any::bigmemory - - uses: r-lib/actions/setup-tinytex@v1 + - uses: r-lib/actions/setup-tinytex@v2 - name: Install Yihui packages run: | diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a0e0f2d..85225197 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ ## Version 5.5.6.9000 * Series order is now preserved in plots of included shiny apps. * The optimization in `sdtw_cent` now uses `stats::optim` by default. -* Dropped strong dependency on `bigmemory` in case it is archived. It will still be used if available. +* Dropped strong dependency on `bigmemory` in case it is archived. It can still be used if available. ## Version 5.5.6 * Adjustments for future R 4.0.0 version: matrices now also inherit from `array`. diff --git a/R/CLUSTERING-ddist2.R b/R/CLUSTERING-ddist2.R index b6a8c963..6330ad3f 100644 --- a/R/CLUSTERING-ddist2.R +++ b/R/CLUSTERING-ddist2.R @@ -195,7 +195,7 @@ ddist2 <- function(distance, control) { if (is.null(centroids) && symmetric && !isTRUE(dots$pairwise)) { multiple_workers <- foreach::getDoParWorkers() > 1L - if (multiple_workers && require("bigmemory", quietly = TRUE)) { + if (multiple_workers && isNamespaceLoaded("bigmemory")) { # WHOLE SYMMETRIC DISTMAT IN PARALLEL # Only half of it is computed # proxy can do this if y = NULL, but not in parallel diff --git a/R/S4-tsclustFamily.R b/R/S4-tsclustFamily.R index 62a8fa78..88463045 100644 --- a/R/S4-tsclustFamily.R +++ b/R/S4-tsclustFamily.R @@ -43,7 +43,8 @@ #' #' For distances *not* included in \pkg{dtwclust}, the symmetric, parallel case mentioned above #' makes chunks for parallel workers, but they are not perfectly balanced, so some workers might -#' finish before the others. +#' finish before the others. You **must** load or attach the \pkg{bigmemory} package for this to +#' take place; see [base::library()] or [base::loadNamespace()]. #' #' @section Centroid function: #' diff --git a/inst/NEWS.Rd b/inst/NEWS.Rd index 02e28072..a0fa2196 100644 --- a/inst/NEWS.Rd +++ b/inst/NEWS.Rd @@ -11,6 +11,6 @@ \itemize{ \item Series order is now preserved in plots of included shiny apps. \item The optimization in \code{sdtw_cent} now uses \code{stats::optim} by default. - \item Dropped strong dependency on \code{bigmemory} in case it is archived. It will still be used if available. + \item Dropped strong dependency on \code{bigmemory} in case it is archived. It can still be used if available. } } diff --git a/man/tsclustFamily-class.Rd b/man/tsclustFamily-class.Rd index da5295e3..deb286a5 100644 --- a/man/tsclustFamily-class.Rd +++ b/man/tsclustFamily-class.Rd @@ -61,7 +61,8 @@ what optimizations apply to each one. For distances \emph{not} included in \pkg{dtwclust}, the symmetric, parallel case mentioned above makes chunks for parallel workers, but they are not perfectly balanced, so some workers might -finish before the others. +finish before the others. You \strong{must} load or attach the \pkg{bigmemory} package for this to +take place; see \code{\link[base:library]{base::library()}} or \code{\link[base:ns-load]{base::loadNamespace()}}. } \section{Centroid function}{