Fix sx_docs Dockerfile: install dune + set PATH for OCaml build
The opam base image has dune in the switch but not on PATH. RUN eval $(opam env) doesn't persist across layers. Install dune explicitly and set PATH so dune is available in build steps. Also fix run-tests.sh to respect QUICK env var from caller (was being overwritten to false). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -11,8 +11,8 @@ set -euo pipefail
|
|||||||
|
|
||||||
cd "$(dirname "$0")"
|
cd "$(dirname "$0")"
|
||||||
|
|
||||||
QUICK=false
|
QUICK="${QUICK:-false}"
|
||||||
SX_ONLY=false
|
SX_ONLY="${SX_ONLY:-false}"
|
||||||
for arg in "$@"; do
|
for arg in "$@"; do
|
||||||
case "$arg" in
|
case "$arg" in
|
||||||
--quick) QUICK=true ;;
|
--quick) QUICK=true ;;
|
||||||
|
|||||||
@@ -3,12 +3,14 @@
|
|||||||
# --- Stage 1: Build OCaml SX kernel ---
|
# --- Stage 1: Build OCaml SX kernel ---
|
||||||
FROM ocaml/opam:debian-12-ocaml-5.2 AS ocaml-build
|
FROM ocaml/opam:debian-12-ocaml-5.2 AS ocaml-build
|
||||||
USER opam
|
USER opam
|
||||||
|
RUN opam install dune -y
|
||||||
|
ENV PATH="/home/opam/.opam/5.2/bin:${PATH}"
|
||||||
WORKDIR /home/opam/sx
|
WORKDIR /home/opam/sx
|
||||||
COPY --chown=opam:opam hosts/ocaml/dune-project ./
|
COPY --chown=opam:opam hosts/ocaml/dune-project ./
|
||||||
COPY --chown=opam:opam hosts/ocaml/lib/ ./lib/
|
COPY --chown=opam:opam hosts/ocaml/lib/ ./lib/
|
||||||
COPY --chown=opam:opam hosts/ocaml/bin/dune hosts/ocaml/bin/run_tests.ml \
|
COPY --chown=opam:opam hosts/ocaml/bin/dune hosts/ocaml/bin/run_tests.ml \
|
||||||
hosts/ocaml/bin/debug_set.ml hosts/ocaml/bin/sx_server.ml ./bin/
|
hosts/ocaml/bin/debug_set.ml hosts/ocaml/bin/sx_server.ml ./bin/
|
||||||
RUN eval $(opam env) && dune build bin/sx_server.exe
|
RUN dune build bin/sx_server.exe
|
||||||
|
|
||||||
# --- Stage 2: Python app ---
|
# --- Stage 2: Python app ---
|
||||||
FROM python:3.11-slim AS base
|
FROM python:3.11-slim AS base
|
||||||
|
|||||||
Reference in New Issue
Block a user