From c8a028985b6edb961eb908100224171ad1da0faa Mon Sep 17 00:00:00 2001 From: Illia Vysochyn Date: Mon, 8 Jul 2024 18:19:30 +0200 Subject: [PATCH] [#62157] WIP: docker: Dockerfile.builder: Optimize dockerfile Signed-off-by: Illia Vysochyn --- README.md | 2 ++ docker/Dockerfile.builder | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 14df26ed44..49a5987e83 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # OpenROAD Flow +Minor modification + [![Build Status](https://jenkins.openroad.tools/buildStatus/icon?job=OpenROAD-flow-scripts-Public%2Fpublic_tests_all%2Fmaster)](https://jenkins.openroad.tools/view/Public/job/OpenROAD-flow-scripts-Public/job/public_tests_all/job/master/) [![Docs](https://readthedocs.org/projects/openroad-flow-scripts/badge/?version=latest)](https://openroad-flow-scripts.readthedocs.io/en/latest/?badge=latest) diff --git a/docker/Dockerfile.builder b/docker/Dockerfile.builder index ee21b22356..b9b1ac3538 100644 --- a/docker/Dockerfile.builder +++ b/docker/Dockerfile.builder @@ -1,27 +1,27 @@ +# syntax=docker/dockerfile:1.7-labs + # Target with dependencies to build all flow tools from their sources. # i.e., "./build_openroad.sh --local" from inside a docker container # NOTE: don't use this file directly unless you know what you are doing, # instead use etc/DockerHelper.sh + ARG fromImage=openroad/flow-ubuntu22.04-dev:latest FROM $fromImage AS openroad-builder-base - ARG numThreads=$(nproc) -COPY . /OpenROAD-flow-scripts WORKDIR /OpenROAD-flow-scripts - +COPY --link dev_env.sh dev_env.sh +COPY --link build_openroad.sh build_openroad.sh +COPY --parents .git/modules tools ./ RUN ./build_openroad.sh --no_init --local --threads ${numThreads} -FROM $fromImage AS openroad-flow-scripts-base - -COPY . /OpenROAD-flow-scripts - -RUN rm -rf /OpenROAD-flow-scripts/tools /OpenROAD-flow-scripts/.git +FROM $fromImage AS openroad-flow-scripts-merged -COPY --from=openroad-builder-base /OpenROAD-flow-scripts/tools/install /OpenROAD-flow-scripts/tools/install +COPY --link --exclude=.git* --exclude=tools/ . /OpenROAD-flow-scripts/ +COPY --link --from=openroad-builder-base /OpenROAD-flow-scripts/tools/install /OpenROAD-flow-scripts/tools/install/ FROM $fromImage -COPY --from=openroad-flow-scripts-base /OpenROAD-flow-scripts /OpenROAD-flow-scripts +COPY --from=openroad-flow-scripts-merged /OpenROAD-flow-scripts /OpenROAD-flow-scripts WORKDIR /OpenROAD-flow-scripts