We can use continuous integration (CI) services such as GitHub Action and Travis CI to automatically validate **[future]** backends via the **[future.tests]** test suite. Here's an example `.travis.yaml` file that configures Travis CI to check the `multisession` and the `future.callr::callr` backends via the **future.tests** test suite. ```yaml language: r cache: packages warnings_are_errors: false r_check_args: --as-cran latex: false jobs: include: - os: linux r: release script: - R CMD build --no-build-vignettes --no-manual . - R CMD INSTALL --no-docs --no-html --no-help --no-demo *.tar.gz - Rscript -e future.tests::check --args --test-plan="${BACKEND}" env: BACKEND='sequential' - os: linux r: release script: - R CMD build --no-build-vignettes --no-manual . - R CMD INSTALL --no-docs --no-html --no-help --no-demo *.tar.gz - Rscript -e future.tests::check --args --test-plan="${BACKEND}" env: BACKEND='multicore' - os: linux r: release script: - R CMD build --no-build-vignettes --no-manual . - R CMD INSTALL --no-docs --no-html --no-help --no-demo *.tar.gz - Rscript -e future.tests::check --args --test-plan="${BACKEND}" env: BACKEND='multisession' - os: linux r: release script: - R CMD build --no-build-vignettes --no-manual . - R CMD INSTALL --no-docs --no-html --no-help --no-demo *.tar.gz - Rscript -e future.tests::check --args --test-plan="${BACKEND}" env: BACKEND='cluster' - os: linux r: release r_packages: - future.callr script: - R CMD build --no-build-vignettes --no-manual . - R CMD INSTALL --no-docs --no-html --no-help --no-demo *.tar.gz - Rscript -e future.tests::check --args --test-plan="${BACKEND}" env: BACKEND='future.callr::callr' - os: linux r: release r_packages: - future.batchtools script: - R CMD build --no-build-vignettes --no-manual . - R CMD INSTALL --no-docs --no-html --no-help --no-demo *.tar.gz - Rscript -e future.tests::check --args --test-plan="${BACKEND}" env: BACKEND='future.batchtools::batchtools_local' - os: linux r: release script: - R CMD build --no-build-vignettes --no-manual . r_packages: - covr after_success: - Rscript -e 'covr::codecov(quiet=FALSE)' env: NB='covr' ## Just a label before_install: - Rscript -e 'c(physical = parallel::detectCores(logical = FALSE), logical = parallel::detectCores())' notifications: email: on_success: change on_failure: change ``` [R]: https://www.r-project.org [future]: https://cran.r-project.org/package=future [future.tests]: https://cran.r-project.org/package=future.tests