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-state
use_*_yml()
: change default template type to use only Linux runnersccache
partsmain
branchsetup-tinytex@v2
setup-r@v2
setup-pandoc@v2
checkout@v3
update_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-dev
remotes::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 brew
update_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_name
yaml-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 repos
rcmdcheck()
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 TicStep
ci()
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).