extratests
is an internal package used for tests that
-
Depend on multiple tidymodels packages
-
Involve special/extra packages.
-
Whose run-time is not practical for individual packages.
These tests are run on a cron job and are run for both CRAN versions and the current GitHub development versions.
PRs on extratests typically are part of a PR pair since they test changes in package repositories. The following workflow ensures that the CI run triggered by the PR on extratests runs with the changes in the corresponding PR on the package repository.
Normal development
- [pkg repo] Make changes
- [extratests repo] Write tests
Set version for the change
- [pkg repo] Give it new dev version number in DESCRIPTION,
e.g.
1.1.0.9001
instead of1.1.0.9000
- [extratests repo] Add
skip_if_not_installed()
to the tests with that dev version number asminimum_version
.
Open PRs and point GHA to the changes
- [pkg repo] Make a PR
- [extratests repo] in
GH-R-CMD-check.yaml
, point GHA to the pkg PR by appending#<PR number>
, e.g.try(pak::pkg_install("tidymodels/parsnip#991"))
- Without pointing GHA to that branch, the tests will be skipped based on the version number.
- If the branch information is added to the DESCRIPTION via
Remotes:
instead, the “CRAN workflow” will also run the dev version.
- [extratests repo] Make a PR, link it to the pkg-PR in the PR description
- [extratests repo] Make a review comment to change remote back to main before merging
Clean-up and merge (after PR review and approval)
- [pkg repo] Merge PR
- [extratests repo] Point remote back to main
- [extratests repo] Merge PR