Giter Club home page Giter Club logo

rhub2's Introduction

rhub2

R-hub version 2

Lifecycle: experimental R-CMD-check Codecov test coverage

R-hub 2 uses GitHub Actions to run R CMD check and similar package checks. The rhub2 package helps you set up R-hub 2 for your R package, and start running checks.


Installation

Once releaseed, install the stable version from CRAN:

install.packages("rhub2")

Usage

Requirements

  • A Github account.
  • Your R package must be in a GitHub repository.
  • You need a GitHub Personal Access Token. You can use the gitcreds package to add the token to the git credential store.

Private repositories

rhub2 uses GitHub Actions, which is free for public repositories. For private repositories you also get some minutes for free, depending on the GitHub subscription you have. See About billing for GitHub Actions for details.

Setup

  1. Switch to the directory of your package, and call rhub2::rhub_setup() to add the R-hub workflow file to your package.
rhub2::rhub_setup()
  1. Run git commit and git push to push the workflow file to GitHub.

  2. Run rhub2::rhub_doctor() to check if everything is set up correctly:

rhub2::rhub_doctor()

Run checks

Use rhub2::rhub_platforms() to get a list of supported platforms and checks:

rhub2::rhub_platforms()

Run rhub2::rhub_check() to start R-hub 2 checks on GitHub Actions:

rhub2::rhub_check()

Code of Conduct

Please note that the callr project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

License

MIT © R Consortium

rhub2's People

Contributors

davisvaughan avatar gaborcsardi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

davisvaughan

rhub2's Issues

missing value where TRUE/FALSE needed

Hi, I'm just trying to follow along with the instructions in the readme.

I tried install.packages("rhub2") but it said my version of R is not compatible.

So I installed with devtools::install_github("r-hub/rhub2") and then followed the steps to make a yml file and commit it to github.

Next I tried the rhub_doctor() command and got an error:

> rhub_doctor()
✔ Found R package at /path/work/github.com/slowkow/ggrepel.
✔ Found git repository at /path/work/github.com/slowkow/ggrepel.
✔ Found GitHub PAT.

Error in if (pcs$host == "github.com") { :
  missing value where TRUE/FALSE needed
> traceback()
5: parse_gh_url(gh_url)
4: doctor_async_gql(gh_url, token = pat)
3: when_all(gql = doctor_async_gql(gh_url, token = pat), wfl = doctor_async_rest(gh_url,
       token = pat))
2: synchronise(when_all(gql = doctor_async_gql(gh_url, token = pat),
       wfl = doctor_async_rest(gh_url, token = pat)))
1: rhub_doctor()

Platform macos has disappeared.

I need to build a Mac OSX binary for a user of the deldir package. But there is no longer any trace of "macos" when I execute platforms().

Earlier today (NZ time) I thought I saw mention of this problem on github, indicating that macos builds were suspended because they were not working, But I can no longer find anything about this. There is nothing that I can see in "Issues".

Did I imagine seeing this mention?

Will macos builds come back to life?

Install TinyTeX

On demand. Maybe needs a config option? The TeXlive packages also need a config option.

These config options (and others as well) could default to some Config/GHA entries in DESCRIPTION.

valgrind for memory leak detection: more documentation

Hello, here Christian Steglich from the RSiena package for longitudinal network analysis. I was happy to come across the rhub2 package and would like to thank you for providing this service in the first place!
For our package https://github.com/snlab-nl/rsiena we recently got a complaint of memory leaks diagnosed by valgrind from the CRAN people. As Windows user, I cannot work with valgrind to replicate this locally, so tried it via rhub2. It appears that the valgrind checks do not detect anything wrong, unlike the memchecks run at CRAN. I wonder why. Does this mean that rhub2 doesn't check for memory leaks? If not, could it be made to do that?
Additionally, we do not get the protocol files generated when checking via rhub2. Because these contain additonal detailed information when running the checks via rhub2. Is it possible to get them? Edit: I see that this latter aspect may be what Issue #8 refers to.

Installing additional dependencies

Hi, this looks like a fantastic package that will be very useful in package development!

I've tried to set it up for one of my packages, which lists a Suggested package ("TreeDistData") using the Additional_repositories: description field. This causes the default workflow runs to fail:

  Error: 
  ! error in pak subprocess
  Caused by error: 
  ! Could not solve package dependencies:
  * deps::.: Can't install dependency TreeDistData (> 0.1.0)
  * TreeDistData: Can't find package called TreeDistData.
  * any::sessioninfo: dependency conflict
  * any::rcmdcheck: dependency conflict

To some extent this represents an issue with pak, but I've found it possible to work around this bug in my existing GHA workflows by installing "TreeDistData" from GitHub.
I'm wondering whether I can configure rhub2 to do the same thing; it's not clear that I can achieve this by editing rhub.yaml. Would it be possible to support an option under the with: field to, for example, the r-hub/rhub2/actions/rhub-check action?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.