-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
54 lines (46 loc) · 2.34 KB
/
Copy pathDockerfile
File metadata and controls
54 lines (46 loc) · 2.34 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# =============================================================================
# CDISC Case 3 agent image (full USDM -> TLF pipeline)
#
# Extends mediforce-golden-image (R + tidyverse + Python + Claude Code) with the
# R stack the six pipeline skills need at run time:
# - ADaM derivation: admiral, admiraldev, metacore, metatools
# - ARD (numbers): cards, cardx (+ emmeans, mmrm, survival, broom.helpers)
# - display: gtsummary, gt, tfrmt, rtables, rlistings, ggsurvfit, ggplot2
# - data plumbing: dplyr, tidyr, haven, jsonlite
# - Python: pyyaml (skills + step scripts)
# plus the deterministic step script (open_skill_pr.py). No study data is bundled —
# the USDM + SDTM datasets are uploaded together at the Upload inputs step each run.
#
# NOTE: `siera` is deliberately NOT installed. The ARS-native CRAN package's back
# end is not production-grade; the tlf-generator skill drafts analysis R directly
# on cards/cardx + emmeans instead (see its generation-idioms reference).
#
# Skills are NOT baked in — they are read at run time from the repo via the
# workflow's externalSkillsRepo + skillsDir. Only the R/Python packages, the
# step scripts, and the fixtures need to be in the image.
#
# Build by hand (needs mediforce-golden-image):
# docker build -t mediforce-agent:cdisc-case-3 .
#
# Build commands are kept QUIET on purpose: the platform builds with
# execSync(stdio:'pipe') and Node's 1MB maxBuffer; a chatty build overflows it
# and the build is killed.
# =============================================================================
FROM mediforce-golden-image
# --- ADaM derivation stack ---
RUN install2.r --error --skipinstalled \
admiral admiraldev metacore metatools > /dev/null
# --- ARD (numbers) + models ---
RUN install2.r --error --skipinstalled \
cards cardx emmeans mmrm survival broom broom.helpers > /dev/null
# --- Display / rendering ---
RUN install2.r --error --skipinstalled \
gtsummary gt tfrmt rtables rlistings ggsurvfit ggplot2 > /dev/null
# --- Data plumbing ---
RUN install2.r --error --skipinstalled \
dplyr tidyr haven jsonlite > /dev/null
# --- Python deps for the step scripts / skills ---
RUN pip install --no-cache-dir --break-system-packages pyyaml > /dev/null
# --- Deterministic step script (open_skill_pr.py) ---
COPY container/ /app/container/
WORKDIR /workspace