From 6955a1906864d808e77bf01661f17bfc3c0b5c62 Mon Sep 17 00:00:00 2001 From: Tomasz Lisowski Date: Tue, 25 Jun 2024 16:33:16 -0300 Subject: [PATCH] Compile in docker at entrypoint instead of image creation --- .gitignore | 1 - docker.sh | 2 +- dockerfile | 26 +++----------------------- 3 files changed, 4 insertions(+), 25 deletions(-) diff --git a/.gitignore b/.gitignore index 5b86df0..417c8ce 100644 --- a/.gitignore +++ b/.gitignore @@ -9,5 +9,4 @@ compile_flags.txt example/ # Docker output. -docker/ docker.log diff --git a/docker.sh b/docker.sh index 3fa5d82..98c602e 100755 --- a/docker.sh +++ b/docker.sh @@ -4,4 +4,4 @@ set -o pipefail; # Don't hide errors within pipes. set -o errexit; # Abort on non-zero exit status. docker build --progress=plain . -t tomasz-lisowski/swicc:1.0.0 2>&1 | tee docker.log; -docker run -v ./docker:/opt/out --tty --interactive --rm tomasz-lisowski/swicc:1.0.0; +docker run -v .:/opt/swicc --tty --interactive --rm tomasz-lisowski/swicc:1.0.0; diff --git a/dockerfile b/dockerfile index 719443a..a44cdba 100644 --- a/dockerfile +++ b/dockerfile @@ -2,27 +2,7 @@ FROM ubuntu:22.04 AS base RUN set -eux; \ apt-get -qq update; \ - apt-get -qq --yes dist-upgrade; + apt-get -qq --yes dist-upgrade; \ + apt-get -qq --yes --no-install-recommends install cmake gcc gcc-multilib make; - -FROM base AS base__swicc -COPY . /opt/swicc -ENV DEP="cmake gcc gcc-multilib make" -RUN set -eux; \ - apt-get -qq --yes --no-install-recommends install ${DEP}; \ - cd /opt/swicc; \ - make clean; \ - make -j $(nproc) main-static test-static; \ - apt-get -qq --yes purge ${DEP}; - - -FROM base -COPY --from=base__swicc /opt/swicc/build /opt/swicc/build -COPY --from=base__swicc /opt/swicc/test/data /opt/swicc/test/data - -RUN set -eux; \ - rm -r /opt/swicc/build/swicc; \ - rm -r /opt/swicc/build/test; \ - rm -r /opt/swicc/build/cjson; - -ENTRYPOINT [ "bash", "-c", "cp -r /opt/swicc/* /opt/out" ] +ENTRYPOINT [ "bash", "-c", "cd /opt/swicc && make clean && make -j $(nproc) main-static test-static" ]