Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get binary R packages from packagemanager.rstudio.com #1104

Merged
merged 21 commits into from
Jan 8, 2022

Commits on Dec 17, 2021

  1. Get binary R packages from packagemanager.rstudio.com

    packagemanager.rstudio.com is a CRAN mirror provided
    by rstudio, with *binary packages* prebuilt for many Linux
    Distributions! https://www.rstudio.com/blog/announcing-public-package-manager/
    has more excellent detail. It cuts down install times for R packages
    by almost 90% in some cases!
    
    Like MRAN (which we use now), they also provide a daily snapshot
    of CRAN at that date
    (https://docs.rstudio.com/rspm/news/#rstudio-package-manager-2021090).
    The URL for CRAN for a particular date can be fetched via an API
    call. We call that API, and if there is no snapshot for that date
    (anything before Oct 2017), we fall back on to MRAN. Adds a test
    to test this fallback.
    
    One possible issue about changing existing binder repos to use binary
    builds rather than source builds is that the binary builds sometimes
    require you have an apt package installed, and will fail if it is
    not. We had to install the zmq library apt package for example -
    source installs compile zmq from source, which is where the speedup
    comes from. But unlike python wheels or conda packages, these binary
    builds are not self-contained - they are linked to apt packages from
    the specific distros. So some repos that worked before might fail now.
    We can choose a more recent cut-off date to prevent this from happening.
    yuvipanda committed Dec 17, 2021
    Configuration menu
    Copy the full SHA
    476a259 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    290b008 View commit details
    Browse the repository at this point in the history
  3. Install devtools, shiny & irkernel from a pin

    We were doing this from an old MRAN snapshot. I moved the pin
    a little ahead, so IRKernel can also be installed from CRAN
    instead of from GitHub. R <= 4.0 gets the old version, and anything
    newer gets a more recent version of devtools. This gives us
    fast installs for IRkernel with binary packages.
    
    Also add a R 4.0 and R 4.1 test
    yuvipanda committed Dec 17, 2021
    Configuration menu
    Copy the full SHA
    1ed05b5 View commit details
    Browse the repository at this point in the history
  4. Make black happy

    yuvipanda committed Dec 17, 2021
    Configuration menu
    Copy the full SHA
    5d173a3 View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2021

  1. Cleanupg RStudio & Shiny server install

    - Install a different version of RStudio for R < 4.1,
      as latest RStudio doesn't seem to support those. And
      newer RStudio isn't supported on these older R versions.
    - Cleanup how Shiny is installed - install it with the same
      apt invocation as rstudio (saves time), and install shiny-proxy
      from PyPI instead or GitHub. The release on PyPI is the same
      as our previous GitHub pin.
    - Remove outdated comment about different behavior for R 3.6 - I
      think now we get all our R versions from the same apt repo. Plus,
      the conditional was adding more scripts than just adding extra apt
      package repos
    yuvipanda committed Dec 20, 2021
    Configuration menu
    Copy the full SHA
    bca7d84 View commit details
    Browse the repository at this point in the history
  2. Add test for r3.6

    yuvipanda committed Dec 20, 2021
    Configuration menu
    Copy the full SHA
    054b602 View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2022

  1. Solidify logic for picking rspm vs mran

    - MRAN doesn't seem to have R 4.1 specific snapshots, so let's
      default to RSPM for anything 4.1+.
    - Otherwise, snapshot dates in 2022 will result in using rspm
    yuvipanda committed Jan 4, 2022
    Configuration menu
    Copy the full SHA
    fd6314d View commit details
    Browse the repository at this point in the history
  2. Satisfy black

    yuvipanda committed Jan 4, 2022
    Configuration menu
    Copy the full SHA
    685c8a0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3ea55e9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d75c007 View commit details
    Browse the repository at this point in the history
  5. Check for MRAN differently

    yuvipanda committed Jan 4, 2022
    Configuration menu
    Copy the full SHA
    ffbace3 View commit details
    Browse the repository at this point in the history
  6. Explicitly install r-base-core

    Otherwise latest version was being installed, giving us
    R 4.1 even when we ask for 4.0
    yuvipanda committed Jan 4, 2022
    Configuration menu
    Copy the full SHA
    5246a0e View commit details
    Browse the repository at this point in the history
  7. Always install IRKernel as a binary package

    And add another R test for R4.0 + rspm
    yuvipanda committed Jan 4, 2022
    Configuration menu
    Copy the full SHA
    0b76e9e View commit details
    Browse the repository at this point in the history
  8. Update r 3.6 package version pins

    Based on output of apt-cache madison r-base-core
    yuvipanda committed Jan 4, 2022
    Configuration menu
    Copy the full SHA
    c398de3 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    7c36566 View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2022

  1. Remove unused constants

    yuvipanda committed Jan 5, 2022
    Configuration menu
    Copy the full SHA
    8d194b2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dbb5ff7 View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2022

  1. Configuration menu
    Copy the full SHA
    ceb4f8a View commit details
    Browse the repository at this point in the history
  2. Cleanup some comments

    yuvipanda committed Jan 7, 2022
    Configuration menu
    Copy the full SHA
    05e504a View commit details
    Browse the repository at this point in the history
  3. Remove unnecessary print()

    yuvipanda committed Jan 7, 2022
    Configuration menu
    Copy the full SHA
    3cb3fbf View commit details
    Browse the repository at this point in the history
  4. Move 3.6.1 back to 3.6.1-3bionic

    Was accidentally included along with the 3.6.3-1biocnic
    upgrade for 3.6
    yuvipanda committed Jan 7, 2022
    Configuration menu
    Copy the full SHA
    7fd9a3d View commit details
    Browse the repository at this point in the history