-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathdockerfile
More file actions
30 lines (20 loc) · 1.32 KB
/
dockerfile
File metadata and controls
30 lines (20 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
FROM rocker/tidyverse
ENV TZ=Australia/Sydney
RUN date
# System dependencies (apt-get since r-base is debian based)
RUN apt-get update
RUN apt-get install -y libcurl4-gnutls-dev curl # curl files
RUN apt-get install -y docker.io # docker interface
RUN apt-get install -y gnupg2 # required to install odbc
# Move pak.lock to the container
COPY . /app/
WORKDIR /app
# tex packages are installed in /root/bin so we have to make sure those
# packages accessible by adding that directory to the PATH variable.
ENV PATH="/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/root/bin"
RUN R -e 'install.packages("pak")'
RUN R -e 'getwd(); dir()'
RUN R -e 'pak::pak("jsonlite"); d <- jsonlite::read_json("pak.lock"); d$packages <- Filter(\(x) x$package != "SCDB", d$packages); print(unlist(Map(\(x) x$package, d$packages))); jsonlite::write_json(d, "pak.lock", auto_unbox = TRUE)'
RUN R -e 'pkgs <- jsonlite::fromJSON("pak.lock")$packages; pak::pak(paste0(pkgs$package, "@" ,pkgs$version))'
RUN R -e 'pak::pak(c("jsonlite", "rcmdcheck", "devtools", "lintr", "covr", "roxygen2", "pkgdown", "rmarkdown", "styler"))'
RUN R -e 'devtools::install()'