actions/save and actions/restore actions after they support to always save and restore cacheactions/upload-artifact version to v3 to silence nodejs deprecation warningsset-output and save-stateuse_*_yml(): change default template type to use only Linux runnersccache partsmain branchsetup-tinytex@v2setup-r@v2setup-pandoc@v2checkout@v3update_yml() which updated the wrong CI config file in certain situationsdo_pkgdown(): Fix accidental deployments from pull requests (#308)do_pkgdown() now always create a .nojekyll file for both release and development deployments.
Otherwise custom fonts starting with an underscore will not be loaded as Jekyll ignores this pattern.
A .nojekyll file tells GitHub pages to not use Jekyll for serving the web page. (#307)libcurl4-openssl-dev and libgit2-devremotes::system_requirements() (#300)do_pkgdown() macro now also builds the site on on branches containing the word cran.
This adds support for the {fledge} release mechanism when using both a development and release site (#303)update-tic.yml: Remove hardcoded reference to master branchupdate_yaml() is not in beta state anymorelibgit2 required by usethis v2.0.0 (tic dep)update-tic.yml template to v3.5.0use_tic(): use GitHub Actions as the default provider for all platformsupdate_yml(): Support updating multiple YAML filesworkflow_dispatch event trigger to templatesupdate-tic.yml: use peter-evans/create-pull-request@v3 and actions/checkout v2.3.1. Run on ubuntu instead of macOSstep_setup_ssh() now verifies that {git2r} is installed. This prevents build failures for {rsconnect} deploymentsupdate-tic.yml: install libs via apt on Linux instead of brewupdate_yaml(): Account for duplicated env vars when a custom env var masks a template env varuse_tic_badge(): Update tic badge and default action name (#269)ccache for faster source package installation is now optional.
While using ccache can help a lot for installing large dependency chains of certain packages, it also adds substantial overhead to builds for small packages.
It is now optional and needs to be added as a custom block to builds. (#264)step_session_info().
This step prints the session info after having installed all dependencies in the "install" stage. (#259)step_install_deps() and do_package_checks() gain dependencies = TRUE argument.use_update_tic(): Adds GitHub Actions workflow update-tic.yml to automatically update tic YAML templates"custom" and ´"custom-deploy"`gha_add_secret() to automate the process of adding a GitHub PAT to a repo as a secret.
This function will probably be move to {ghactions} in the future.remote to all printing instances. Previously using a different remote than "origin" caused an error..main.yml to tic.yml (#260)actions/checkout to v2.1.1pat-s/always-upload-cache to v2.0.0use_tic_badge(): Update tic badge and default action name (#269)step_session_info() (#259)step_install_deps() and do_package_checks() gain dependencies = TRUE argument.use_update_tic(): Adds GitHub Actions workflow update-tic.yml to automatically update tic YAML templates"custom" and ´"custom-deploy"`remote to all printing instances. Previously using a different remote than "origin" errored.gha_add_secret() to automate the process of adding a GitHub PAT to a repo as a secret.
This function will probably be move to {ghactions} in the future.update_yml(): Update your {tic} yaml templates to the latest upstream version in {tic}.
User changes are preserved if these are marked correctly.
See vignette "Updating Templates" for instructions.
This process can also be fully automated via a custom CI job.force to step_do_push_deploy() for adding the --force flag to git calls.R/Makevars-I/usr/local/include to CPPFLAGS for macOS runners to mirror CRAN setup-I/usr/local/include to CPPFLAGS for macOS runners to mirror CRANforce to step_do_push_deploy() for adding the --force flag to git callsdo_blogdown() macro (#242)use_tic(): Move cli::tree() calls to use_*_yml() functions to avoid printing of false-positive trees.use_*_yml(): Set defaults for argument type.use_*_yml() logic (#246)R 4.0 toolchain
SDKROOT is now set to /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk to prevent linking issues on macOS >= 10.15.4do_blogdown() and do_bookdown() gain argument cname, making it possible to pass a CNAME URL for deployments. This is useful when setting one sets orphan = TRUE and relies on a custom URL of the published content (otherwise the redirect would not work)do_blogdown() macro (#242)use_badge: Refactor to use default badges from the respective providers rather than from shields.io (too slow and sometimes badges did not render at all) (#240)step_push_deploy(commit_paths = ) are now force added to the index by git.
This enables to add directories like docs/ (e.g. created by a local pkgdown build) to .gitignore and still deploy it during CI (#237).step_rcmdcheck(): Test in directory "check" to simplify upload of artifactsuse_tic() fails with descriptive error message if the badges start/end sections are missing in READMEstep_install_ssh_keys(): Do not use git2r::config() when deploying on Windows to prevent build freezesfaq.Rmd: Add info how to avoid git race conditions during pkgdown deployment (#238)use_tic() fails with descriptive error message if the badges start/end sections are missing in READMEfaq.Rmd: Add info how to avoid git race conditions during pkgdown deployment (#238)step_install_ssh_keys(): Do not use git2r::config() when deploying on Windows to prevent build freezesstep_push_deploy(commit_paths = ) are now force added to the index by git.
This enables to add directories like docs/ (e.g. created by a local pkgdown build) to .gitignore and still deploy it during CI (#237).step_rcmdcheck(): Test in dir "check" to simplify upload of artifactsuse_tic_r(): Add support for conditional tic.R templates via argument deploy_on.use_tic_r() so that a manual workflow is possible (besides use_tic())use_tic_badge(): Creation of pretty CI status badgestic::use_ghactions_deploy() (status "experimental") to set up a SSH key for deployment.use_ghactions_yml() with deploy = TRUE/FALSE (FALSE by default).use_tic()do_readme_rmd() (#223)list_macros()TRAVIS_DEPLOY_KEY to TIC_DEPLOY_KEY to have a generic name.travis_private_key_name to private_key_nameyaml-templates.R to yaml_templates.R because the former caused troubles when previewing the dev version of the docs.use_tic()_tic_ in the docs by {tic}do_readme_rmd() (#223)list_macros()do_drat()ci_can_push() never fails.use_tic()error_on = "note" also fails on warnings.ci_can_Push(): Error with descriptive error message if deployment is not possibleci_can_push(): Fix for Travis CIuse_tic(): add key_name_private and key_name_public args from travis::use_travis_deploy()ci_can_push(): Change default from "id_rsa"" to "TRAVIS_DEPLOY_KEY" and also support backward compuse_tic(): Travis as default for Linux and macOSuse_tic() supports running both Linux and macOS on Travis (#202).TicStep$prepare if prepare_call is given in add_code_step() (#211).step_add_to_drat().use_tic() gains arguments that allow non-interactive use and re-running with the same settings if setup fails (#203).use_travis_deploy() back to {travis}.remotes::install_cran(upgrade = TRUE) to install packages (#186)TRAVIS_BUILD_WEB_URL for the commit message.do_package_checks() gains type argument.use_travis_yml(), use_circle_yml() and use_appveyor_yml() and add overview table of available options--no-build-vignettes to avoid warning from R CMD check.R CMD build and R CMD check switches on AppVeyor.docs/ directory is missing (#173, r-lib/pkgdown#1050).use_travis_deploy() from the travis package to here.get_public_key() and encode_private_key().tic.R to .Rbuildignore for internal tests.step_build_pkgdown() clean site before building.step_install_deps(), step_install_cran() and step_install_github() steps install binary packages by default, even if the CRAN version is ahead.use_tic() are added to .Rbuildignore.tic.R runs pkgdown only on Travis (#167).detect_repo_type() now prompts the user for unknown repository types (#161).use_tic() loses path argument, now taken from usethis::proj_get() .step_rcmdcheck() and do_package_checks() now avoid building the vignette by default on AppVeyor (#150).use_tic() now uses boxes from {cli} for better structured output (#153).usethis::proj_get().dsl_load(), renamed from load_from_file().dsl_get() and dsl_init().get_stage() and macros (#77).use_tic(), moved from {travis} (#138).rlang::trace_back() (#105).do_pkgdown() and do_bookdown() now have a deploy argument and are documented on separate help pages. The new ?macro help page provides an overview.print() methods for DSL and stages (#77).do_bookdown() (#137).repo_*() functions to simplify specification of the repos argument to installer functions (#101).do_pkgdown() (#126, @pat-s)step_rcmdcheck(error_on = "note") works again (#119).do_package_checks() with codecov = TRUE argument (#146), replaces add_package_checks() which stays around for compatibility (#128).add_step() now evaluates the step argument in a tryCatch() block and gives a bit of context if this fails (#73).run_all_stages(), previously tic() (#66).ci_get_env(), ci_has_env() and ci_is_env() functions to avoid verbose Sys.getenv() calls in tic.R (#124, @pat-s).ci_*() functions to avoid R6 notation in tic.R (#125, @pat-s).step_install_deps(), reorganizing help pages so that installer steps are on the same page.step_rcmdcheck() no longer installs dependencies. Instead, add_package_checks() includes step_install_deps() (#74).build_args argument in step_rcmdcheck() (#64, @pat-s).warnings_are_errors and notes_are_errors in favor of the new error_on argumenttimeout and reposrcmdcheck() internally with error_on = "never" so that we can trigger the message on found warnings and notesstep_rcmdcheck() using a dedicated lib for the checkstep_rcmdcheck().
See ?step_rcmdcheck() for detailed info. (#103)step_build_pkgdown() step now uses the same dedicated library as step_rcmdcheck().step_rcmdcheck() step now uses a dedicated library for installing the packages and checking, it also updates the packages after installing dependencies. The add_package_checks() macro no longer includes an update.packages() call (#35).step_rcmdcheck() step now installs all dependencies during preparation. The add_package_checks() macro no longer adds the code step that installs dependencies.step_do_push_deploy() and step_push_deploy() steps are not executed for builds on a tag, because this would create a branch of the same name as the tag (#27).tic.R by sourcing tic.R in a modifiable environment (#33).private arguments with an environment that keeps track of internal state, now the code from add_package_checks() can be copied to a tic.R file (#74).get_public_key() and encode_private_key() moved from travis (#71, @pat-s).step_install_cran() and step_install_github() (#65, @pat-s).orphan argument from step_push_deploy(), because there's no easy way to implement it reliably. If only a subdirectory is deployed to a separate branch (i.e., the path argument is set), orphan = TRUE is required.step_push_deploy() (#45).add_package_checks() adds coverage checks only for non-interactive CIs.use_tic() (#55).subdir argument to step_push_deploy() and step_do_push_deploy(), allows restricting the set of files to be committed to Git (#42).base64serialize() and base64unserialize() (#37).add_code_step() detects required packages also for complex expressions. Packages that need to be installed from GitHub still need to be installed manually (#36).step_rcmdcheck() now prints a summary, which also shows e.g. details on installation failures.prepare_call argument to step_run_code() and add_code_step().add_package_checks().add_package_checks() gains arguments that are passed to step_rcmdcheck().step_setup_ssh() (#24).add_code_step() (#21).tic() to run all steps locally (#23).add_package_checks() (#25).step_add_to_drat() will also update the overview page if it exists.get_slug() on AppVeyor to use APPVEYOR_REPO_NAME.step_add_to_drat().step_push_deploy() into step_setup_push_deploy() and step_do_push_deploy().step_rcmdcheck().step_write_text_file() for creating arbitrary text files, including ~/.R/Makevars (#14).step_run_covr() in favor of the new step_run_code() (#18).load_from_file() reloads the file from disk if its mtime changes (#11).step_run_code() to run arbitrary code. If the code is a call with the pkg::fun(), notation, pkg is installed if missing (#1, #3). step_run_covr() remains for compatibility but is scheduled for removal.step_add_to_known_hosts() to work around configuration problems on OS X (#16).after_success() and deploy().load_from_file() replaces get_xxx_steps()task_...() has been renamed to step_...()before_script() is now prepare_all_stages()TravisTask is now TicStepci() is now exportedCI is undefined, use LocalCI with sensible inference of repository and branch.git exits with nonzero status.task_build_pkgdown task.step(), which are tasks with a branch and/or env var filter (#6).Initial release.
check(), prepare() and run() -- functions without arguments, only check() needs to return a logical scalar. These can be subclasses of the new TravisTask R6 class, the package now contains six subclasses: HelloWorld, RunCovr, BuildPkgdown, InstallSSHKeys, TestSSH, and PushDeploy. The new methods of theses subclasses are exported as task_hello_world(), task_run_covr(), task_build_pkgdown() task_install_ssh_keys(), task_test_ssh(), and task_push_deploy(), respectively. The three functions before_script(), after_success() and deploy() accept a semicolon-separated list of task objects, which is by default taken from the TIC_AFTER_SUCCESS_TASKS and TIC_DEPLOY_TASKS environment variables. These functions call the prepare() and run() methods of the task objects if and only if the check() method returns TRUE (#42).