build(docker/backend): prebuild dependencies before COPY, temporarily COPY everything

This commit is contained in:
Sarah Vaupel 2025-01-15 13:25:26 +01:00
parent 61bd28a21c
commit d8425ac562

View File

@ -42,25 +42,23 @@ ENV HOME=${PROJECT_DIR}
RUN stack install yesod-bin RUN stack install yesod-bin
RUN stack install hpack RUN stack install hpack
# pre-build dependencies
RUN make -- --dependencies-backend STACK_ROOT=${STACK_ROOT} IN_CONTAINER=true JOB=${JOB}
COPY . ${PROJECT_DIR}
# copy source files # copy source files
COPY app/ ${PROJECT_DIR}/app #COPY app/ ${PROJECT_DIR}/app
COPY src/ ${PROJECT_DIR}/src #COPY src/ ${PROJECT_DIR}/src
COPY models/ ${PROJECT_DIR}/models #COPY models/ ${PROJECT_DIR}/models
COPY messages/ ${PROJECT_DIR}/messages #COPY messages/ ${PROJECT_DIR}/messages
COPY templates/ ${PROJECT_DIR}/templates #COPY templates/ ${PROJECT_DIR}/templates
COPY test/ ${PROJECT_DIR}/test #COPY test/ ${PROJECT_DIR}/test
COPY testdata/ ${PROJECT_DIR}/testdata #COPY testdata/ ${PROJECT_DIR}/testdata
# copy frontend files # copy frontend files
COPY assets/ ${PROJECT_DIR}/assets #COPY assets/ ${PROJECT_DIR}/assets
COPY static/ ${PROJECT_DIR}/static #COPY static/ ${PROJECT_DIR}/static
COPY well-known/ ${PROJECT_DIR}/well-known #COPY well-known/ ${PROJECT_DIR}/well-known
# copy cache
COPY .stack ${STACK_ROOT}
COPY .stack-work ${PROJECT_DIR}/.stack-work
RUN --mount=type=cache,target=${STACK_ROOT} make -- --dependencies-backend STACK_ROOT=${STACK_ROOT} IN_CONTAINER=true JOB=${JOB}
ENV FRADRIVE_MAKE_TARGET=--start-backend ENV FRADRIVE_MAKE_TARGET=--start-backend
ENTRYPOINT make -- ${FRADRIVE_MAKE_TARGET} STACK_ROOT="${STACK_ROOT}" IN_CONTAINER=true CONTAINER_FILE="${CONTAINER_FILE}" JOB="${JOB}" SRC="${SRC}" ENTRYPOINT make -- ${FRADRIVE_MAKE_TARGET} STACK_ROOT="${STACK_ROOT}" IN_CONTAINER=true CONTAINER_FILE="${CONTAINER_FILE}" JOB="${JOB}" SRC="${SRC}"