I've created an R package and I'd like to upload it to CRAN via GitHub Actions whenever I merge changes into the master branch. I've found a lot of examples of R actions and I've even looked up how some of the most popular packages like dplyr do it and even though I've found a devtools::release() helper function, I still haven't seen a workflow that would submit a library to CRAN when you merge changes into the master branch. Do package developers do this manually? Is there any reason why this hasn't been automated?
How to submit an R package to CRAN via GitHub Actions?
371 Views Asked by IVR At
1
There are 1 best solutions below
Related Questions in R
- How to make an R Shiny app with big data?
- How do I keep only specific rows based on whether a column has a specific value?
- Likert scale study - ordinal regression model
- Extract a table/matrix from R into Excel with same colors and stle
- How can I solve non-conformable arguments in R netmeta::discomb (Error in B.matrix %*% C.matrix)?
- Can raw means and estimated marginal means be the same ? And when?
- Understanding accumulate function when .dir is set to "backwards"
- Error in if (nrow(peaks) > 0) { : argument is of length zero Calls: CopywriteR ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous> Execution ha
- How to increase quality of mathjax output?
- Convert the time intervals to equal hours and fill in the value column
- How to run an R function getpoints() from IPDfromKM package in an R shiny app which in R pops up a plot that utilizes clicks to capture coordinates?
- Replace NA in list of dfs in certain columns and under certain conditions
- R and text on Cyrillic
- The ts() function in R is returning the correct start and frequency but not end value which is 1 and not 179
- TROUBLING with the "DROP_NA" Function
Related Questions in GITHUB-ACTIONS
- How do I create a test passing badge for my yaml below
- Driver com.microsoft.sqlserver.jdbc.SQLServerDriver claims to not accept jdbcUrl, ${SPRING_DATASOURCE_URL}: GitHub Actions
- Trying to update the version.go file with the release tag from GitHub actions but its failing
- While Running Github Actions Pipeline: No Signing Certificate "iOS Development" found: No "iOS Development" signing certificate matching team ID
- Gradle SAXParseException cvc-complex-type.2.4.a
- Unable to deploy to GAE from Github Actions
- Set environment variable during push for GitHub Actions
- Error: P1001: Can't reach database server at `db`:`5432` on github actions
- Android SafeArgs gives error with GitHub actions
- How to restore nuget from private github feed using Github App and no PAT?
- Github Actions/variable-mapper : Error: Unexpected token *** in JSON
- Github action Post Run fails workflow
- How to push multiple changes from matrix in Github Actions
- Display coverage report on browser
- Unable to use env variable from prd environment context
Related Questions in CONTINUOUS-DEPLOYMENT
- Canary deployment using spinnaker in AWS ECS
- Azure YAML Pipeline schedule to run on the last Sunday of the month at 4 AM
- Suggestions for Deploying Document-QA system using LLaMa-2 model
- How to build an artifact from a given branch in azure pipelines?
- Cannot deploy Azure data factory SSIS Integration Runtime using CD release pipeline in AzureDevOps
- Not authorized. Please check the user token in the property 'sonar.token' or the credential
- Table gets promoted with no data to Prod for Azure SQL database through Azure DevOps
- When running task deployment on AWS ECS the error return "Essential container in task exited"
- Expected Syntax error while writing groovy code
- tput: No value for $TERM and no -T specified : Causes Deployment Failure
- Azure CD with publish profile
- How to achieve rolling update with pm2?
- How I can define the location of the deployed app in AwsCodeploy based upon environment?
- How do I get the Onedev Kubernetes Executor working in a microk8s helm deployment?
- Application Error during deployment to an Azure Function Slot
Related Questions in CRAN
- R CMD-Check returns zero errors, but Actions returns five errors
- Use CRAN without setting a mirror
- Resolving Compilation Failure of Rcpp-Based R Package on CRAN Linux VMs Due to Makevars Issues
- How to change package logic to avoid modifying .GlobalEnv
- Differentiate among packages installed through CRAN and Bioconductor [R]
- How to fix a tcltk error on R CMD check for macos
- Using C++ execution header in R package
- 'Assertive' package not on CRAN
- Unable to access CRAN repository on windows10 with multiple R versions
- Can we know the country (or area) from where downloads of a CRAN package occur?
- Beta-diversity analysis
- Getting 'Rscript: Bad address' error when CRAN build my package on windows platforms
- R packge submission to CRAN, pretest failure on Debian system: OMP: Error #13: Assertion failure at kmp_runtime.cpp(6891)
- Rcpp warning: format string is not a string literal (potentially insecure)
- Install more if not all r-cran-* packages
Related Questions in R-USETHIS
- R package not running preprocessing scripts in data-raw
- How to remove duplicate package alias in autocreated pkgname-package.R?
- How to solve this warning message: renv took longer than expected to activate the sandbox
- Cannot get Git tab to show up in RStudio
- R devtools: use local dependencies
- How to update internal data using use_data
- Setting up GH actions in a subdirectory (several packages in one repo)
- Unable to publish GitHub page for my R package using pkgdown
- How to handle a private remote dependency in a new R package?
- Undo `usethis::use_XYZ()`
- Can't get Github PAT to persist - RStudio & Ubuntu 20
- Is there any way I can add/update an object in the internal R package data (`R/sysdata.rda`), albeit inadvisable?
- R: usethis: push to Github on an already created repository
- R - %||% pipe operator
- How can I use magrittr pipe (%>%) in my package?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
CRAN works quite differently from other language repositories, as uploads are not fully automated like in e.g. PyPI.
When you upload a new package, it is subject to verification from an actual human. When you update a package, if it triggers certain checks it will also be subject to a new review from a human. When a package uploads successfully and passes the first verification, many automated checks are run for it over the course of weeks (e.g. different OSes, compilers, compiler options, architectures, sanitizers, valgrind, etc.), and precompiled binaries are automatically generated for some platforms and R versions from your source code.
The CRAN policies explicitly state that frequent updates are not allowed, and you're not supposed to be submitting uploads any faster than once every couple months, for which I think this level of automation would not be worth it.
Even if you do want to automate this process, there is an email verification in the middle, so you'd perhaps have to do something with selenium + other scripts.
BTW if you are worried about complicated building processes and are using RStudio, you can configure on a per-project basis what arguments to use when building source or binary distributions of your package.