diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 75096194..a5ae3718 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -9,8 +9,11 @@ on: branches: [main, master] pull_request: branches: [main, master] + workflow_dispatch: -name: R-CMD-check +name: R-CMD-check.yaml + +permissions: read-all jobs: R-CMD-check: @@ -25,21 +28,25 @@ jobs: - {os: macos-latest, r: 'release'} - {os: windows-latest, r: 'release'} - # use 4.1 to check with rtools40's older compiler - - {os: windows-latest, r: '4.1'} + # use 4.0 or 4.1 to check with rtools40's older compiler + - {os: windows-latest, r: 'oldrel-4'} - - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'} - - {os: ubuntu-latest, r: 'release'} - - {os: ubuntu-latest, r: 'oldrel-1'} - - {os: ubuntu-latest, r: 'oldrel-2'} - - {os: ubuntu-latest, r: 'oldrel-3'} + - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'} + - {os: ubuntu-latest, r: 'release'} + - {os: ubuntu-latest, r: 'oldrel-1'} + - {os: ubuntu-latest, r: 'oldrel-2'} + - {os: ubuntu-latest, r: 'oldrel-3'} + #- {os: ubuntu-latest, r: 'oldrel-4'} env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} R_KEEP_PKG_SOURCE: yes + CXX14: g++ + CXX14STD: -std=c++1y + CXX14FLAGS: -Wall -g -02 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/setup-pandoc@v2 @@ -57,3 +64,8 @@ jobs: - uses: r-lib/actions/check-r-package@v2 with: upload-snapshots: true + + - name: Show testthat output + if: always() + run: find check -name 'testthat.Rout*' -exec cat '{}' \; || true + shell: bash diff --git a/.github/workflows/pkgdown.yaml b/.github/workflows/pkgdown.yaml index 087f0b05..4bbce750 100644 --- a/.github/workflows/pkgdown.yaml +++ b/.github/workflows/pkgdown.yaml @@ -9,7 +9,9 @@ on: types: [published] workflow_dispatch: -name: pkgdown +name: pkgdown.yaml + +permissions: read-all jobs: pkgdown: @@ -19,8 +21,10 @@ jobs: group: pkgdown-${{ github.event_name != 'pull_request' || github.run_id }} env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + permissions: + contents: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/setup-pandoc@v2 @@ -39,7 +43,7 @@ jobs: - name: Deploy to GitHub pages 🚀 if: github.event_name != 'pull_request' - uses: JamesIves/github-pages-deploy-action@v4.4.1 + uses: JamesIves/github-pages-deploy-action@v4.5.0 with: clean: false branch: gh-pages diff --git a/.github/workflows/pr-commands.yaml b/.github/workflows/pr-commands.yaml index 71f335b3..2edd93f2 100644 --- a/.github/workflows/pr-commands.yaml +++ b/.github/workflows/pr-commands.yaml @@ -4,7 +4,9 @@ on: issue_comment: types: [created] -name: Commands +name: pr-commands.yaml + +permissions: read-all jobs: document: @@ -13,8 +15,10 @@ jobs: runs-on: ubuntu-latest env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + permissions: + contents: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/pr-fetch@v2 with: @@ -50,8 +54,10 @@ jobs: runs-on: ubuntu-latest env: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + permissions: + contents: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/pr-fetch@v2 with: diff --git a/.github/workflows/test-coverage.yaml b/.github/workflows/test-coverage.yaml index 2c5bb502..98822609 100644 --- a/.github/workflows/test-coverage.yaml +++ b/.github/workflows/test-coverage.yaml @@ -6,7 +6,9 @@ on: pull_request: branches: [main, master] -name: test-coverage +name: test-coverage.yaml + +permissions: read-all jobs: test-coverage: @@ -15,7 +17,7 @@ jobs: GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: r-lib/actions/setup-r@v2 with: @@ -23,28 +25,37 @@ jobs: - uses: r-lib/actions/setup-r-dependencies@v2 with: - extra-packages: any::covr + extra-packages: any::covr, any::xml2 needs: coverage - name: Test coverage run: | - covr::codecov( + cov <- covr::package_coverage( quiet = FALSE, clean = FALSE, - install_path = file.path(Sys.getenv("RUNNER_TEMP"), "package") + install_path = file.path(normalizePath(Sys.getenv("RUNNER_TEMP"), winslash = "/"), "package") ) + covr::to_cobertura(cov) shell: Rscript {0} + - uses: codecov/codecov-action@v4 + with: + fail_ci_if_error: ${{ github.event_name != 'pull_request' && true || false }} + file: ./cobertura.xml + plugin: noop + disable_search: true + token: ${{ secrets.CODECOV_TOKEN }} + - name: Show testthat output if: always() run: | ## -------------------------------------------------------------------- - find ${{ runner.temp }}/package -name 'testthat.Rout*' -exec cat '{}' \; || true + find '${{ runner.temp }}/package' -name 'testthat.Rout*' -exec cat '{}' \; || true shell: bash - name: Upload test results if: failure() - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: coverage-test-failures path: ${{ runner.temp }}/package diff --git a/DESCRIPTION b/DESCRIPTION index e676913a..5600b846 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -24,10 +24,10 @@ Imports: generics (>= 0.1.2), glue (>= 1.6.2), hardhat (>= 1.0.0), - modelenv (>= 0.1.0), + modelenv (>= 0.2.0.9000), parsnip (>= 1.0.2), prettyunits (>= 1.1.0), - Rfast (>= 2.0.6), + Rfast (>= 2.0.6), rlang (>= 1.0.6), rsample (>= 1.0.0), stats, @@ -49,6 +49,8 @@ Suggests: rmarkdown, testthat (>= 3.0.0), workflows (>= 1.1.2) +Remotes: + tidymodels/modelenv Config/Needs/website: pkgdown, tidymodels, tidyverse, palmerpenguins, patchwork, ggforce, tidyverse/tidytemplate Config/testthat/edition: 3 diff --git a/R/cluster_spec.R b/R/cluster_spec.R index 7037dd85..6fe8fa0f 100644 --- a/R/cluster_spec.R +++ b/R/cluster_spec.R @@ -10,7 +10,12 @@ #' @export #' @keywords internal new_cluster_spec <- function(cls, args, eng_args, mode, method, engine) { - modelenv::check_spec_mode_engine_val(model = cls, mode = mode, eng = engine) + modelenv::check_spec_mode_engine_val( + model = cls, + mode = mode, + eng = engine, + call = rlang::caller_env() + ) out <- list( args = args, eng_args = eng_args, diff --git a/tests/testthat/_snaps/arguments.md b/tests/testthat/_snaps/arguments.md index a23f6fa5..e1f2b21c 100644 --- a/tests/testthat/_snaps/arguments.md +++ b/tests/testthat/_snaps/arguments.md @@ -12,29 +12,30 @@ k_means() %>% set_mode() Condition Error in `modelenv::stop_incompatible_mode()`: - ! Available modes for model type k_means are: 'unknown', 'partition' + x Available modes for model type k_means are: + * "unknown" and "partition". --- Code k_means() %>% set_mode(2) Condition - Error in `modelenv::check_spec_mode_engine_val()`: - ! '2' is not a known mode for model `k_means()`. + Error in `set_mode()`: + ! 2 is not a known mode for model `k_means()`. --- Code k_means() %>% set_mode("haberdashery") Condition - Error in `modelenv::check_spec_mode_engine_val()`: - ! 'haberdashery' is not a known mode for model `k_means()`. + Error in `set_mode()`: + ! "haberdashery" is not a known mode for model `k_means()`. # can't set a mode that isn't allowed by the model spec Code set_mode(k_means(), "classification") Condition - Error in `modelenv::check_spec_mode_engine_val()`: - ! 'classification' is not a known mode for model `k_means()`. + Error in `set_mode()`: + ! "classification" is not a known mode for model `k_means()`. diff --git a/tests/testthat/_snaps/hier_clust.md b/tests/testthat/_snaps/hier_clust.md index 16bbb373..e6f80bf5 100644 --- a/tests/testthat/_snaps/hier_clust.md +++ b/tests/testthat/_snaps/hier_clust.md @@ -3,8 +3,8 @@ Code hier_clust(mode = "bogus") Condition - Error in `modelenv::check_spec_mode_engine_val()`: - ! 'bogus' is not a known mode for model `hier_clust()`. + Error in `hier_clust()`: + ! "bogus" is not a known mode for model `hier_clust()`. --- diff --git a/tests/testthat/_snaps/k_means.md b/tests/testthat/_snaps/k_means.md index fd1dbd65..ed769b86 100644 --- a/tests/testthat/_snaps/k_means.md +++ b/tests/testthat/_snaps/k_means.md @@ -3,8 +3,8 @@ Code k_means(mode = "bogus") Condition - Error in `modelenv::check_spec_mode_engine_val()`: - ! 'bogus' is not a known mode for model `k_means()`. + Error in `k_means()`: + ! "bogus" is not a known mode for model `k_means()`. --- diff --git a/tests/testthat/_snaps/tune_cluster.md b/tests/testthat/_snaps/tune_cluster.md index 9fa7c69f..4e0a9fcf 100644 --- a/tests/testthat/_snaps/tune_cluster.md +++ b/tests/testthat/_snaps/tune_cluster.md @@ -112,6 +112,9 @@ Condition Warning: The `...` are not used in this function but one or more objects were passed: 'something' + Warning: + `grid_latin_hypercube()` was deprecated in dials 1.3.0. + i Please use `grid_space_filling()` instead. Output # Tuning results # 2-fold cross-validation