cjerzak commited on
Commit
7df66f7
·
verified ·
1 Parent(s): 71df013

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +5 -2
Dockerfile CHANGED
@@ -33,7 +33,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
33
  libfribidi-dev \
34
  && rm -rf /var/lib/apt/lists/*
35
 
36
- ARG DOCKERFILE_REV=2026-03-04-tos-fix-2
37
 
38
  RUN echo "asa-api docker revision: ${DOCKERFILE_REV}"; \
39
  set -eux; \
@@ -51,7 +51,9 @@ RUN echo "asa-api docker revision: ${DOCKERFILE_REV}"; \
51
  /opt/conda/bin/conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r; \
52
  /opt/conda/bin/conda update -n base -c defaults conda
53
 
54
- RUN R -q -e "install.packages(c('remotes','plumber','jsonlite','reticulate'), repos='https://cloud.r-project.org')"
 
 
55
 
56
  ARG ASA_SOFTWARE_REPO=https://github.com/cjerzak/asa-software
57
  ARG ASA_SOFTWARE_REF=main
@@ -59,6 +61,7 @@ ARG ASA_SOFTWARE_REF=main
59
  RUN git clone --depth 1 --branch "${ASA_SOFTWARE_REF}" "${ASA_SOFTWARE_REPO}" /opt/asa-software \
60
  && R -q -e "remotes::install_local('/opt/asa-software/asa', dependencies = TRUE, upgrade = 'never')" \
61
  && R -q -e "asa::build_backend(conda_env='asa_env', python_version='3.12', check_browser=FALSE, fix_browser=FALSE)" \
 
62
  && rm -rf /opt/asa-software/.git
63
 
64
  WORKDIR /app
 
33
  libfribidi-dev \
34
  && rm -rf /var/lib/apt/lists/*
35
 
36
+ ARG DOCKERFILE_REV=2026-03-04-r-failfast-1
37
 
38
  RUN echo "asa-api docker revision: ${DOCKERFILE_REV}"; \
39
  set -eux; \
 
51
  /opt/conda/bin/conda tos accept --override-channels --channel https://repo.anaconda.com/pkgs/r; \
52
  /opt/conda/bin/conda update -n base -c defaults conda
53
 
54
+ RUN R -q -e "options(repos = c(CRAN = 'https://cloud.r-project.org')); pkgs <- c('remotes','plumber','jsonlite','reticulate'); install.packages(pkgs); missing <- pkgs[!vapply(pkgs, function(p) requireNamespace(p, quietly = TRUE), logical(1))]; if (length(missing)) stop(sprintf('Missing required R packages after install: %s', paste(missing, collapse = ', ')), call. = FALSE); cat('R package gate passed:', paste(pkgs, collapse = ', '), '\n'); cat('R library paths:', paste(.libPaths(), collapse = ' | '), '\n'); cat('plumber version:', as.character(packageVersion('plumber')), '\n')"
55
+
56
+ RUN R -q -e "gate <- c('plumber','jsonlite','reticulate'); missing <- gate[!vapply(gate, function(p) requireNamespace(p, quietly = TRUE), logical(1))]; if (length(missing)) stop(sprintf('Runtime gate failed; missing: %s', paste(missing, collapse = ', ')), call. = FALSE)"
57
 
58
  ARG ASA_SOFTWARE_REPO=https://github.com/cjerzak/asa-software
59
  ARG ASA_SOFTWARE_REF=main
 
61
  RUN git clone --depth 1 --branch "${ASA_SOFTWARE_REF}" "${ASA_SOFTWARE_REPO}" /opt/asa-software \
62
  && R -q -e "remotes::install_local('/opt/asa-software/asa', dependencies = TRUE, upgrade = 'never')" \
63
  && R -q -e "asa::build_backend(conda_env='asa_env', python_version='3.12', check_browser=FALSE, fix_browser=FALSE)" \
64
+ && R -q -e "gate <- c('asa','plumber','jsonlite','reticulate'); missing <- gate[!vapply(gate, function(p) requireNamespace(p, quietly = TRUE), logical(1))]; if (length(missing)) stop(sprintf('Post-asa gate failed; missing: %s', paste(missing, collapse = ', ')), call. = FALSE); cat('Post-asa package gate passed\n')" \
65
  && rm -rf /opt/asa-software/.git
66
 
67
  WORKDIR /app