GithubHelp home page GithubHelp logo

r-buildpack's Introduction

Cloud Foundry R Buildpack

CF Slack Join us on Slack

A Cloud Foundry buildpack for apps requiring R.

Buildpack User Documentation

Official buildpack documentation can be found at R buildpack docs.

Building the Buildpack

To build this buildpack, run the following command from the buildpack's directory:

  1. Source the .envrc file in the buildpack directory.

    source .envrc

    To simplify the process in the future, install direnv which will automatically source .envrc when you change directories.

  2. Install buildpack-packager

    ./scripts/install_tools.sh
  3. Build the buildpack

    buildpack-packager build [ --cached=(true|false) ]
  4. Use in Cloud Foundry

    Upload the buildpack to your Cloud Foundry and optionally specify it by name

    cf create-buildpack [BUILDPACK_NAME] [BUILDPACK_ZIP_FILE_PATH] 1
    cf push my_app [-b BUILDPACK_NAME]

Testing

Buildpacks use the Cutlass framework for running integration tests.

To test this buildpack, run the following command from the buildpack's directory:

  1. Source the .envrc file in the buildpack directory.

    source .envrc

    To simplify the process in the future, install direnv which will automatically source .envrc when you change directories.

  2. Run unit tests

    ./scripts/unit.sh
  3. Run integration tests

    ./scripts/integration.sh

More information can be found on Github cutlass.

Contributing

Find our guidelines here.

Help and Support

Join the #buildpacks channel in our Slack community

Reporting Issues

Open an issue on this project

Active Development

The project backlog is on Pivotal Tracker

r-buildpack's People

Contributors

accrazed avatar anyu avatar arjun024 avatar astrieanna avatar ben16 avatar brayanhenao avatar cf-buildpacks-eng avatar conengmo avatar dependabot[bot] avatar dfreilich avatar dgodd avatar dwillist avatar foresteckhardt avatar idoru avatar jfeeny avatar joshzarrabi avatar kardolus avatar mdelillo avatar mvalliath avatar ryanmoran avatar sophiewigmore avatar thitch97 avatar tisvictress avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

r-buildpack's Issues

IMPORTANT NOTICE: End of support for R versions 3.4.x and 3.5.x after 2019-08-10

The first release of the R buildpack after August 10, 2019 will no longer include R versions 3.4.x and 3.5.x. These R versions are no longer supported upstream. Please migrate your R apps to supported versions of R before that time.

Note: Unless you are manually specifying a version of R for the buildpack to use, or you have customized your R buildpack, no action is required.

IMPORTANT NOTICE: [r-buildpack] End of Support for R versions 4.0.x after 2021-07-03

The first release of the R buildpack after July 3, 2021 will no longer include R versions 4.0.x. These R versions will no longer be supported upstream.[1] Please migrate your R apps to supported versions of R before that time.

As always, the buildpacks team is happy to answer questions you may have about this deprecation in the #buildpacks Slack channel.

[1] - https://developer.r-project.org/

For more information on r dependencies and their deprecation dates, please refer to https://buildpacks.cloudfoundry.org/#/buildpacks

Thanks,
Buildpacks Team

Problems with deploy in R 4.0

I want to deploy my app in ibmcloud but I got and error that seems to be related with this

What version of Cloud Foundry and CF CLI are you using? (i.e. What is the output of running cf curl /v2/info && cf version?

cf version 6.51.0+2acd15650.2020-04-07

What version of the buildpack you are using?

1.1.4

If you were attempting to accomplish a task, what was it you were attempting to do?

I run ibmcloud cf push myapp

What did you expect to happen?

Succesful deployment

What was the actual behavior?

  -----> R Buildpack version 1.1.4
   -----> Supplying R
   -----> Installing r 4.0.0
          Download [https://buildpacks.cloudfoundry.org/dependencies/r/r_4.0.0_linux_noarch_cflinuxfs3_4832644f.tgz]
   /tmp/contents132792537/deps/0/r/bin/exec/R: error while loading shared libraries: libpcre2-8.so.0: cannot open shared object file: No such file or directory
          **ERROR** Error installing packages: Error while installing packages: exit status 127
Error staging application: App staging failed in the buildpack compile phase
FAILED

Please confirm where necessary:

  • I have included a log output
  • My log includes an error message
  • I have included steps for reproduction

IMPORTANT NOTICE: End of support for cflinuxfs2 buildpacks after 2019-08-31

This notice is regarding the end of support for cflinuxfs2 buildpacks after 2019-08-31. As previously mentioned, Ubuntu has ended support for 14.04, and with that, support for cflinuxfs2 has also ended. Due to the need to migrate all applications from cflinuxfs2 to cflinuxfs3, we have continued to release cflinuxfs2 buildpacks while those migrations came to a conclusion. After August 31, 2019, all buildpack releases will be for cflinuxfs3 only.

If you are still in need of migrating your applications over to cflinuxfs3, the Stack Auditor tool can be of use.

Dependency Deprecation: r 3.6.x

We will be keeping this version line in R as to not remove the entire 3.x.x version line. With that being said, this issue is to modify the deprecation date to some new date in the future so another auto generated deprecation issue is created and we can reevaluate whether or not to deprecate at that time.

It may be worth attempting to see roughly the frequency of minor line bumps have occured on the 3.x line to determine a possible new deprecation date. In the case of r, we would deprecate 3.6.x once 3.7.x is released. If no good indicator exists for when that might be, maybe we try 4-6 months out as our new deprecation date for 3.6.x.

Deprecation date: 2020-03-01
Link: https://developer.r-project.org/

**Release:** r-buildpack 1.1.18

Dependency Changes:

No dependency changes

New Commits on Develop:

8e38182 Bump version to 1.1.18
4041dec Update libbuildpack
e027411 Update libbuildpack
de9f43a Update libbuildpack
a71ccc3 Auto merge pull request 60
e6fb950 Rebuild r 4.0.5
dc8207b Auto merge pull request 59
2e21e7c Rebuild r 3.6.3
26cfae5 Auto merge pull request 58
67e6af6 Rebuild r 3.5.3
84b1321 Re-bootstraps with github-config
6925eb2 Bootstraps with github-config
51d4ff7 Update libbuildpack
6c25276 Update libbuildpack

Refer to release instructions.

Please configure GITBOT

Pivotal provides the Gitbot service to synchronize issues and pull requests made against public GitHub repos with Pivotal Tracker projects.

If you are a Pivotal employee, you can configure Gitbot to sync your GitHub repo to your Pivotal Tracker project with a pull request.

Steps:

  • Fork this repo: cfgitbot-config (an ask+cf@ ticket is the fastest way to get read access if you get a 404)
  • Add the Toolsmiths-Bots team to have admin access to your repo
  • Add the cf-gitbot ([email protected]) user to have owner access to your Pivotal Tracker project
  • Add your new repo and or project to config-production.yml file
  • Submit a PR, which will get auto-merged if you've done it right

If you are not a pivotal employee, you can request that [email protected] set up the integration for you.

You might also be interested in configuring GitHub's Service Hook for Tracker on your repo so you can link your commits to Tracker stories. You can do this yourself by following the directions at:

https://www.pivotaltracker.com/blog/guide-githubs-service-hook-tracker/

If you do not want to use Pivotal Tracker to manage this GitHub repo, Please add this repo to the Ignored repositories list

If there are any questions, please reach out to [email protected].

r-buildpack issue concerning libv8-dev or libnode-dev

Hello, I am running into an issue where my R shiny app cannot build on CF due to the r-buildpack not having libv8-dev or libnode-dev ubuntu packages. I also cannot unfortunately create my own custom buildpack due to our private PCF isntance. I would like to put in a request to update the r-buildpack to include libv8-dev if possible.

Any documentation for r.yml?

What version of Cloud Foundry and CF CLI are you using? (i.e. What is the output of running cf curl /v2/info && cf version?
cf version 6.37.0+a40009753.2018-05-25

What version of the buildpack you are using?
R Buildpack version 0.0.5

If you were attempting to accomplish a task, what was it you were attempting to do?
Trying to deploy a sample shiny application with the following structure.
app.R – For me this is the bootstrapping application that has shiny related code
init.R – This file is responsible for installing the dependencies.
start.R - Main entry point in manifest.yml

What did you expect to happen?
Should be up and running without any problems because init.r takes care of installing dependencies.

What was the actual behavior?
Staging failed because r.yml was not present.

Output:

   2018-08-29T22:45:16.72+0530 [STG/0] OUT        **ERROR** Couldn't load r.yml: open /tmp/app/r.yml: no such file or directory
   2018-08-29T22:45:16.72+0530 [STG/0] ERR Failed to compile droplet: Failed to run all supply scripts: exit status 14
   2018-08-29T22:45:16.77+0530 [STG/0] OUT Exit status 223
   2018-08-29T22:45:16.77+0530 [STG/0] ERR Staging failed: STG: Exited with status 223

Please confirm where necessary:

  • [ Y] I have included a log output
  • [ Y] My log includes an error message
  • [ N] I have included steps for reproduction

DT::DataTable and plotly outputs don't work on deployed apps.

I have managed to deploy a shiny app using your R buildpack. The only issue is that DT::DataTable and plotly objects don't work on the deployed app, even though they work locally. I think it's because they're not installing properly during the build.

For example, I get this message when I push:
Warning message: In install.packages(c("plotly", "DT"), repos = "https://cran.r-project.org", : installation of one or more packages failed, probably ‘units’, ‘s2’, ‘rgeos’, ‘sf’

A quick google suggests I need a dependency installed in order to install rgeos (https://stackoverflow.com/questions/53389181/installing-the-r-package-rgeos-on-linux-geos-config-not-found-or-not-executab). Is this something I am able to easily do while using the buildpack, or will I need to customise it myself?

Any help would be much appreciated!

James

What version of Cloud Foundry and CF CLI are you using? (i.e. What is the output of running cf curl /v2/info && cf version?
{
"name": "",
"build": "",
"support": "https://docs.cloud.service.gov.uk",
"version": 0,
"description": "",
"authorization_endpoint": "https://login.london.cloud.service.gov.uk",
"token_endpoint": "https://uaa.london.cloud.service.gov.uk",
"min_cli_version": null,
"min_recommended_cli_version": null,
"app_ssh_endpoint": "ssh.london.cloud.service.gov.uk:2222",
"app_ssh_host_key_fingerprint": "2ZZlTNpKIRped1Fc1ZiSp1kBixoF0szohYfiR0qPLnU",
"app_ssh_oauth_client": "ssh-proxy",
"doppler_logging_endpoint": "wss://doppler.london.cloud.service.gov.uk:443",
"api_version": "2.166.0",
"osbapi_version": "2.15",
"user": "247944fc-c3a7-4edb-99ab-bdc19a587694"
}
cf version 7.2.0+be4a5ce2b.2020-12-10

What version of the buildpack you are using?
Latest

If you were attempting to accomplish a task, what was it you were attempting to do?
Deploying a shiny app

What did you expect to happen?
The packages DT and plotly to install during the build phase and work for the deployed app.

What was the actual behavior?
The objects don't appear in the deployed app.

I think they failed to install because system dependencies were needed.
installation of one or more packages failed,
probably ‘units’, ‘s2’, ‘rgeos’, ‘sf’

Please confirm where necessary:

  • I have included a log output
  • My log includes an error message
  • I have included steps for reproduction

Unable To Access the Index of Repository Issue

What version of Cloud Foundry and CF CLI are you using? (i.e. What is the output of running cf curl /v2/info && cf version?
cf version -> 6.34.1+bbdf81482.2018-01-17
CF CLI -> 6.23.0

What version of the buildpack you are using?
r-buildpack-v1.1.1

If you were attempting to accomplish a task, what was it you were attempting to do?
trying to download packages from local jfrog artifactory, via r.yml please refer to my r.yml file

 ---
packages:
  - cran_mirror:  http://sres.web.xxx.com/artifactory/cran-remote-2/
    num_threads: 2
    packages:
      - name: stringr
      - name: jsonlite
      - name: vars 

Below is my manifest.yml


---
applications:
- name: metrics-discovery
  disk_qouta: 1GB
  memory: 1GB
  buildpack: r_buildpack
  random-route: false
  stack: cflinuxfs3
  health-check-type: port
  command: R -f start.R
  services: []
  env:
    CRAN_MIRROR: https://sres.web.xxx.com/artifactory/cran-remote-2/
    HTTP_PROXY: http://www-proxy.web.xxx.com:31060
    HTTPS_PROXY: https://www-proxy.web.xxx.com:31060
    CRAN_TRUSTED_HOST: sres.web.xxx.com
    PIP_TRUSTED_HOST: sres.web.xxx.com

Below is my start.R

library(stringr)
library(jsonlite)
library(vars)
library(plumber)
pr <- plumb("controller.R")
pr$run(host="0.0.0.0",port=8080)

What did you expect to happen?
app successfully pushed to PCF and the mentioned packages in r.yml gets deployed

What was the actual behavior?
cannot open URL 'http://sres.web.xxx.com/artifactory/cran-remote-2/src/contrib/PACKAGES'
unable to access index for repository


2020-04-06T17:00:50.042+05:30 [APP/PROC/WEB/0] [OUT] > library(vars)
2020-04-06T17:00:50.043+05:30 [APP/PROC/WEB/0] [ERR] Error in library(vars) : there is no package called ‘vars’
2020-04-06T17:00:50.043+05:30 [APP/PROC/WEB/0] [ERR] Execution halted
2020-04-06T17:00:50.084+05:30 [APP/PROC/WEB/0] [OUT] Exit status 1

Please confirm where necessary:

  • [Y ] I have included a log output
  • [Y ] My log includes an error message
  • [Y ] I have included steps for reproduction

Multiple Buildpack issue

What version of Cloud Foundry and CF CLI are you using? (i.e. What is the output of running cf curl /v2/info && cf version?
cf-cli: 6.37
cf-api: 2.94.0

What version of the buildpack you are using?
Running multiple buildpacks
https://github.com/cloudfoundry/r-buildpack
https://github.com/cloudfoundry/nodejs-buildpack#v1.6.3

If you were attempting to accomplish a task, what was it you were attempting to do?
Attempting to run a R-script from node.

What did you expect to happen?
Expected the script to execute as it does on my local machine.
(From googling this error it seems its possible that where R is moved after installing and it can't find the binary, the location of the R script is correct; I know this because it works on my local machine)

What was the actual behavior?
[ERR] Rscript execution error: No such file or directory

Please confirm where necessary:

  • I have included a log output
  • My log includes an error message
  • I have included steps for reproduction

I think the problem is that the R installation is being moved from /tmp/contents136751112/deps/0...
to /home/vcap/deps/0... And Rscript is not able to be run when the installation and binary is moved. The paths are hardbaked in on installation unfortunately

**Release:** r-buildpack 1.1.19

Dependency Changes:

+ Added r at version(s): 4.1.0

New Commits on Develop:

504266b Bump version to 1.1.19
febbed6 Update libbuildpack
6342a45 Merge pull request #73 from cloudfoundry/automation/github-config/update
29fa6d0 Updating github-config
e0f1e19 Merge pull request #68 from cloudfoundry/automation/github-config/update
4caa68f Updating github-config
b47d36a Auto merge pull request 66
6016db9 Add r 4.1.0
f8b524f Update libbuildpack

Refer to release instructions.

Buildpack isn't installing app dependencies before running the application

Hi there!
I'm currently running into an issue, where our application can't be run due to a third-party dependency called drgee not installing a it should. So far I've tried several things, such as vendoring the package or trying different CRAN mirrors, including a in-house Nexus proxy but that didn't help. It seems to me, like the buildpack isn't actually installing the dependency in the first place, since the log output doesn't mention any step for installing the dependency.

What is confusing to me in particular, is that there is no output at all, concerning the installation of the dependency. If there is any issue installing it, for example because it requires compilation, there should be an error and the app shouldn't be run at all but as it stands, it behaves as if the package was not installed.

What version of Cloud Foundry and CF CLI are you using? (i.e. What is the output of running cf curl /v2/info && cf version?

{
   "name": "CFAP01",
   "build": "2.20.3",
   "version": 2,
   "api_version": "2.144.0",
   "osbapi_version": "2.15",
[...] (I redacted some internal info)
}
cf.exe Version 6.46.1+4934877ec.2019-08-23

What version of the buildpack you are using?

v1.1.11

If you were attempting to accomplish a task, what was it you were attempting to do?

Deploying an app with the package drgee as a dependency using the following r.yml file.

applications:
- name: app
  buildpacks:
  - https://github.com/cloudfoundry/r-buildpack#v1.1.11
  disk_quota: 2048M
  instances: ((instances))
  memory: ((memory))
  command: R -f startscript.R
  env:
    ENVIRONMENT_NAME: ((space))
  routes:
  - route: ((route))
  stack: cflinuxfs3
  packages:
  - cran_mirror: https://cran.r-project.org
    packages:
    - name: jsonlite
    - name: drgee

What did you expect to happen?

The buildpack to install the package, print the fact that it is installing the dependency, and the application to run.

What was the actual behavior?

The application failed to run, with an error saying that there is no library called "drgee".

cf push output:

Staging von App und Tracing von Protokollen...
   Cell diego-cell-12 creating container for instance e0eaa647-a16b-4448-99d5-3a11e4f40183
   Cell diego-cell-12 successfully created container for instance e0eaa647-a16b-4448-99d5-3a11e4f40183
   Downloading app package...
   Downloading build artifacts cache...
   Downloaded app package (107.1K)
   Downloaded build artifacts cache (179.6M)
   -----> Download go 1.12.4
   -----> Running go build supply
   /tmp/buildpackdownloads/c0a0f4bf059ddcf2b8af38a5b915e57d ~
   ~
   -----> R Buildpack version 1.1.11
   -----> Supplying R
   -----> Installing r 4.0.3
          Copy [/tmp/cache/final/dependencies/1ae30f2982d679f56d52276700a777c7a2aeb641b59e6d4e8dc79e37e44946dc/r_4.0.3_linux_noarch_cflinuxfs3_2359441e.tgz]
          **WARNING** r 4.0.x will no longer be available in new buildpacks released after 2021-03-01.
          See: https://developer.r-project.org/
   -----> Running go build finalize
   /tmp/buildpackdownloads/c0a0f4bf059ddcf2b8af38a5b915e57d ~
   ~
   Exit status 0
   Uploading droplet, build artifacts cache...
   Uploading droplet...
   Uploading build artifacts cache...
   Uploaded build artifacts cache (179.6M)
   Uploaded droplet (180.6M)
   Uploading complete
   Cell diego-cell-12 stopping instance e0eaa647-a16b-4448-99d5-3a11e4f40183
   Cell diego-cell-12 destroying container for instance e0eaa647-a16b-4448-99d5-3a11e4f40183
   Cell diego-cell-12 successfully destroyed container for instance e0eaa647-a16b-4448-99d5-3a11e4f40183

Warten auf den Start durch die App...
Start nicht erfolgreich

TIPP: Verwenden Sie 'cf.exe logs ebg-temosta-analysis --recent', um weitere Informationen zu erhalten
FEHLGESCHLAGEN

cf log output:

   2021-02-24T17:03:15.78+0100 [CELL/0] OUT Cell diego-cell-12 creating container for instance 11982909-a8f6-48c9-791e-d21f
   2021-02-24T17:03:16.84+0100 [CELL/0] OUT Cell diego-cell-0 successfully destroyed container for instance 1bb04fb8-fb79-4804-69de-6bf7
   2021-02-24T17:03:17.16+0100 [CELL/0] OUT Cell diego-cell-12 successfully created container for instance 11982909-a8f6-48c9-791e-d21f
   2021-02-24T17:03:17.16+0100 [CELL/0] OUT Downloading droplet...
   2021-02-24T17:03:19.52+0100 [CELL/0] OUT Downloaded droplet
   2021-02-24T17:03:19.52+0100 [CELL/0] OUT Starting health monitoring of container
   2021-02-24T17:03:22.13+0100 [APP/PROC/WEB/0] OUT R version 4.0.3 (2020-10-10) -- "Bunny-Wunnies Freak Out"
   2021-02-24T17:03:22.13+0100 [APP/PROC/WEB/0] OUT Copyright (C) 2020 The R Foundation for Statistical Computing
   2021-02-24T17:03:22.13+0100 [APP/PROC/WEB/0] OUT Platform: x86_64-pc-linux-gnu (64-bit)
   2021-02-24T17:03:22.20+0100 [APP/PROC/WEB/0] OUT R is free software and comes with ABSOLUTELY NO WARRANTY.
   2021-02-24T17:03:22.20+0100 [APP/PROC/WEB/0] OUT You are welcome to redistribute it under certain conditions.
   2021-02-24T17:03:22.20+0100 [APP/PROC/WEB/0] OUT Type 'license()' or 'licence()' for distribution details.
   2021-02-24T17:03:22.20+0100 [APP/PROC/WEB/0] OUT   Natural language support but running in an English locale
   2021-02-24T17:03:22.20+0100 [APP/PROC/WEB/0] OUT R is a collaborative project with many contributors.
   2021-02-24T17:03:22.20+0100 [APP/PROC/WEB/0] OUT Type 'contributors()' for more information and
   2021-02-24T17:03:22.20+0100 [APP/PROC/WEB/0] OUT 'citation()' on how to cite R or R packages in publications.
   2021-02-24T17:03:22.20+0100 [APP/PROC/WEB/0] OUT Type 'demo()' for some demos, 'help()' for on-line help, or
   2021-02-24T17:03:22.20+0100 [APP/PROC/WEB/0] OUT 'help.start()' for an HTML browser interface to help.
   2021-02-24T17:03:22.20+0100 [APP/PROC/WEB/0] OUT Type 'q()' to quit R.
   2021-02-24T17:03:22.42+0100 [APP/PROC/WEB/0] OUT > Sys.setenv(LANG = "en")
   2021-02-24T17:03:22.42+0100 [APP/PROC/WEB/0] OUT > library(plumber);
   2021-02-24T17:03:22.65+0100 [APP/PROC/WEB/0] OUT > pr <- plumber::plumb("WebApi.R");
   2021-02-24T17:03:22.69+0100 [APP/PROC/WEB/0] ERR Loading required package: jsonlite
   2021-02-24T17:03:22.72+0100 [APP/PROC/WEB/0] ERR Error in stopOnLine(lineNum, file[lineNum], e) : 
   2021-02-24T17:03:22.72+0100 [APP/PROC/WEB/0] ERR   Error on line #2: 'setwd("fun")' - Error in library(drgee): there is no package called ‘drgee’
   2021-02-24T17:03:22.72+0100 [APP/PROC/WEB/0] ERR Calls: <Anonymous> ... tryCatchList -> tryCatchOne -> <Anonymous> -> stopOnLine
   2021-02-24T17:03:22.72+0100 [APP/PROC/WEB/0] ERR Execution halted
   2021-02-24T17:03:22.76+0100 [APP/PROC/WEB/0] OUT Exit status 1
   2021-02-24T17:03:22.76+0100 [CELL/SSHD/0] OUT Exit status 0
   2021-02-24T17:03:22.77+0100 [CELL/0] OUT Cell diego-cell-12 stopping instance 11982909-a8f6-48c9-791e-d21f
   2021-02-24T17:03:22.77+0100 [CELL/0] OUT Cell diego-cell-12 destroying container for instance 11982909-a8f6-48c9-791e-d21f
   2021-02-24T17:03:22.81+0100 [API/0] OUT Process has crashed with type: "web"
   2021-02-24T17:03:22.83+0100 [API/0] OUT App instance exited with guid cae8b206-6359-4e39-9a3a-6e79d6e91d35 payload: {"instance"=>"11982909-a8f6-48c9-791e-d21f", "index"=>0, "cell_id"=>"diego-cell-12", "reason"=>"CRASHED", "exit_description"=>"APP/PROC/WEB: Exited with status 1", "crash_count"=>3, "crash_timestamp"=>1614182602769866014, "version"=>"5581a214-9f89-44cc-aa5b-c306e5910565"}
   2021-02-24T17:03:23.23+0100 [CELL/0] OUT Cell diego-cell-12 successfully destroyed container for instance 11982909-a8f6-48c9-791e-d21f

Please confirm where necessary:

  • I have included a log output
  • My log includes an error message
  • I have included steps for reproduction

Creating a Binary CRAN Repository to Improve Useability

If you've used this buildpack to create a Shiny app or any R application that depends on a lot of fancy R packages, you have probably run into the issue of not being able to successfully push due to the hard 15 minute time limit on builds. Installing devtools, ggplot2, dplyr and all of their dependencies takes a while and are not able to be installed in less than 15 minutes. These are extremely common packages to use in almost any R application, and most R users don't have the experience needed to simply add packages via the apt buildpack or some other method.

This was an issue for the EPA, and it was fixed by creating binary packages for cflinuxfs3: https://github.com/USEPA/cflinuxfs3-CRAN

This repository offers substantial utility for all R buildpack users, but it currently depends on me maintaining it. I've created a package that handles adding packages to the repo, but it still means that someone has to individually, manually add packages.

I would like to open a discussion about how we could create either an automated system to build binary packages or setup a organizational structure to distribute the responsibility to more contributors. I think that this can be something fairly lean and simple, while also vastly improving the utility of the R buildpack for all users.

**Release:** r-buildpack 1.1.21

Dependency Changes:

+ Added r at version(s): 4.1.1

New Commits on Develop:

308a50c Updating github-config
36258b7 Adds github-token for integration suite
88ab37e Auto merge pull request 94
0ffb7ad Add r 4.1.1
8b9d53d Update libbuildpack
c6d5702 Update libbuildpack
18dfe79 Bump github.com/paketo-buildpacks/packit from 0.14.0 to 0.14.1
039bed4 Updating github-config
345f7d2 Updating github-config
25e34df Updating github-config
20e81e0 Update libbuildpack

Refer to release instructions.

Deprecation: [r-buildpack] r version 3.6.x after 2020-03-01

The r 3.6.x dependency is scheduled to be deprecated on: 2020-03-01.

Confirm this deprecation date is valid, and do one of the following:

  • If the deprecation date is valid, check this box. Keep this issue open and remove the version line on or after the given deprecation date. Additionally, open issues as needed on the respective paketo buildpack repos.
  • If the deprecation date is not valid, please update it accordingly in the dependency-builds configuration, and close this issue with a link to the commit.

See the following documentation for more information: https://developer.r-project.org/

IMPORTANT NOTICE: [r-buildpack] End of support for cflinuxfs2 on all new dependency version lines

This notice is regarding the end of support for cflinuxfs2 and how it affects all buildpacks and dependencies contained within them.

cflinuxfs2 (based on Ubuntu 14.04) is no longer receiving security updates due to the end of upstream support. As we desire to ensure that buildpacks are always shipped with the latest security patch updates, all new dependency version lines within buildpacks will only be shipped with cflinuxfs3.

We understand that migrating applications over to cflinuxfs3 can take some time. Because of that, existing dependency version lines that support cflinuxfs2 will continue to receive patch updates for both cflinuxfs2 and cflinuxfs3.

Warning: It is not safe to run applications on cflinuxfs2. While buildpacks will still contain dependencies supported on cflinuxfs2, we do not recommend that they be used due to the absence of security updates for cflinuxfs2.

Additionally, a secondary notice will be coming in the near future explaining the timeline for ending cflinuxfs2 supported buildpacks.

Buildpack auto-installs 'Suggests' dependencies

What version of Cloud Foundry and CF CLI are you using? (i.e. What is the output of running cf curl /v2/info && cf version?

  • cf.exe version 7.1.0+4c3168f9a.2020-09-09

What version of the buildpack you are using?

  • 1.1.10

If you were attempting to accomplish a task, what was it you were attempting to do?

  • deploy an R shiny application to a CF instance

What did you expect to happen?

  • successfully install all R packages specified in r.yml

What was the actual behavior?

  • fail to install some R packages which are not specified in r.yml

Please confirm where necessary:

  • I have included a log output
  • My log includes an error message
  • I have included steps for reproduction

I am trying to deploy an application to a CF instance and am running into an issue when installing R packages, which I think is caused by this line:

cmd := exec.Command("R", "--vanilla", "-e", fmt.Sprintf("install.packages(c(\"%s\"), repos=\"%s\", dependencies=TRUE, Ncpus=%d)\n", packageArg, src.CranMirror, src.Ncpus))

In the line above, dependencies=TRUE is hard-coded - this means that all R packages listed in the 'Suggests' field of the description of a specified package are installed as well. This has two important consequences:

  1. it really slows down a deployment, as the number of R packages being built from source is increased
  2. it attempts to install packages for which system dependencies may not exist, causing failure

For example, the widely used ggplot2 has sf listed in its 'Suggests' field, to enable certain examples of plotting spatial data. But sf won't install without valid installations of libgdal, libgeos and other system dependencies.

Would it be possible either to change this to dependencies = NA (the default in R), and if users need a package they can explicitly request it in the r.yml file, or to pass this in as an option from the r.yml?

I appreciate this buildpack is not top priority, but I think this would be a very quick fix!

Need libv8-dev and/or libnode-dev packages in the r-buildpack

Hello, I have an issue where my R shiny app cannot build on CF due to the r-buildpack not having libv8-dev or libnode-dev ubuntu packages. The reason being that the security policy for my company does not allow us to choose other options to get around this. It would be awesome if you all could include these two packages in an updated r-buildpack.

tidyverse r-package

What version of Cloud Foundry and CF CLI are you using? (i.e. What is the output of running cf curl /v2/info && cf version?
Cloud foundry: 2.8.8-build 8
CF client: 6.23.0

What version of the buildpack you are using?
1.1.4

If you were attempting to accomplish a task, what was it you were attempting to do?
install r-package tidyverse

What did you expect to happen?
no errors when building app

What was the actual behavior?
error when installing dependencies of tidyverse
error message: one or more packages failed
simpel.zip

Please confirm where necessary:

  • I have included a log output
  • My log includes an error message
  • I have included steps for reproduction (as zip file)

Libraries supported in R buildpack v1.0.5

What version of Cloud Foundry and CF CLI are you using? (i.e. What is the output of running cf curl /v2/info && cf version?
2.65.0
6.32.0+0191c33d9.2017-09-26

What version of the buildpack you are using?
R buildpack v1.0.5

If you were attempting to accomplish a task, what was it you were attempting to do?
Attempting to understand if the following libraries are included as a part of R buildpack v1.0.5:

  • libgsl0-dev (required for topicmodels)
  • unixodbc-dev (required for r-oracle)
  • libssh2-1-dev
  • libudunits2-dev
  • libmariadbclient-dev
  • libglu1-mesa-dev
  • libquantlib0-dev
  • libv8-3.14-dev
  • libprotobuf-dev

What did you expect to happen?
Installation of packages such as topicmodels, R-MySQL etc.

What was the actual behavior?

Please confirm where necessary:

  • I have included a log output
  • My log includes an error message
  • I have included steps for reproduction

IMPORTANT NOTICE: [r-buildpack] Deprecation Notice Policy Changes

Attention Buildpacks users:

The Buildpacks team will no longer provide notices regarding the deprecation or removal of buildpack dependencies effective 30 days from the date of this notice.

Information about buildpacks and their dependencies (including dependency deprecation dates) can now be found at: https://buildpacks.cloudfoundry.org/#/buildpacks

As part of this change, version lines of buildpack dependencies will be removed on or after the date listed at the url above. Users should prepare accordingly to ensure their applications continue to work once these version lines are no longer supported.

Thanks,
Buildpacks Team

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.