FROM {{mamba_image}} AS build
USER root
# expose `which` at /usr/bin/which for R (bioconda) post-link scripts; the amazon2023 base image lacks it
RUN \
    micromamba install -y -n base conda-forge::which \
    && ln -sf "$MAMBA_ROOT_PREFIX/bin/which" /usr/bin/which \
    && (micromamba install -y -n base {{channel_opts}} {{target}} > /tmp/mamba.log 2>&1 \
    && cat /tmp/mamba.log \
    || (cat /tmp/mamba.log >&2 && grep -q __cuda /tmp/mamba.log \
        && CONDA_OVERRIDE_CUDA="99" micromamba install -y -n base {{channel_opts}} {{target}})) \
    {{base_packages}}
    && micromamba clean -a -y \
    && micromamba env export --name base --explicit > environment.lock \
    && echo ">> CONDA_LOCK_START" \
    && cat environment.lock \
    && echo "<< CONDA_LOCK_END"

FROM {{base_image}} AS prod
ARG MAMBA_ROOT_PREFIX="/opt/conda"
ENV MAMBA_ROOT_PREFIX=$MAMBA_ROOT_PREFIX
COPY --from=build "$MAMBA_ROOT_PREFIX" "$MAMBA_ROOT_PREFIX"
USER root
ENV PATH="$MAMBA_ROOT_PREFIX/bin:$PATH"
