From 4a3f4f004f10fb4e8cde51e508faa237315a8678 Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Thu, 13 Aug 2026 00:07:33 -0400 Subject: [PATCH 1/9] [CONFIG] Docker: Separate docker builds --- .github/workflows/docker-image.yml | 44 ++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index d44f469..950f49e 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -1,5 +1,4 @@ --- - name: Docker Image CI on: # yamllint disable-line rule:truthy @@ -15,9 +14,8 @@ env: ARTIFACT_NAME: algorithm-exercises-cpp_${{ github.sha }} jobs: - - build: - name: "Build Docker images" + build-lint: + name: "Build Docker LINT image" runs-on: ubuntu-26.04 steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 @@ -39,6 +37,14 @@ jobs: with: name: ${{ env.ARTIFACT_NAME }}_lint path: /tmp/${{ env.ARTIFACT_NAME }}_lint.tar + build-test: + name: "Build Docker TEST image" + runs-on: ubuntu-26.04 + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v4 - name: "TEST: Build and push" uses: docker/build-push-action@v7 @@ -54,7 +60,16 @@ jobs: with: name: ${{ env.ARTIFACT_NAME }}_test path: /tmp/${{ env.ARTIFACT_NAME }}_test.tar + # Production image build moved to separate job `build-prod` + build-prod: + name: "Build Docker PRODUCTION image" + runs-on: ubuntu-26.04 + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v4 - name: "PRODUCTION: Build and push" uses: docker/build-push-action@v7 with: @@ -71,10 +86,10 @@ jobs: name: ${{ env.ARTIFACT_NAME }}_prod path: /tmp/${{ env.ARTIFACT_NAME }}_prod.tar - lint: + run-lint: name: "Run in docker: LINT" runs-on: ubuntu-26.04 - needs: build + needs: build-lint steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 @@ -96,10 +111,10 @@ jobs: run --rm ${{ env.IMAGE_NAME }}-lint make lint - test: + run-test: name: "Run in docker: TEST" runs-on: ubuntu-26.04 - needs: build + needs: build-test steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 @@ -121,12 +136,11 @@ jobs: run --rm ${{ env.IMAGE_NAME }}-test make test - # yamllint disable rule:line-length # security: # name: "Snyk Container" # runs-on: ubuntu-26.04 - # needs: build + # needs: build-prod # permissions: # actions: read # contents: read @@ -175,7 +189,7 @@ jobs: scan: name: "Trivy" runs-on: ubuntu-26.04 - needs: build + needs: build-prod permissions: actions: read contents: read @@ -196,7 +210,7 @@ jobs: uses: aquasecurity/trivy-action@v0.36.0 with: image-ref: ${{ env.IMAGE_NAME }}:${{ github.sha }} - format: 'table' + format: "table" env: TRIVY_DB_REPOSITORY: ${{ vars.TRIVY_DB_REPOSITORY }} @@ -204,12 +218,12 @@ jobs: uses: aquasecurity/trivy-action@v0.36.0 with: image-ref: ${{ env.IMAGE_NAME }}:${{ github.sha }} - format: 'sarif' - output: 'trivy-results.sarif' + format: "sarif" + output: "trivy-results.sarif" env: TRIVY_DB_REPOSITORY: ${{ vars.TRIVY_DB_REPOSITORY }} - name: Upload Trivy scan results to GitHub Security tab uses: github/codeql-action/upload-sarif@v4 with: - sarif_file: 'trivy-results.sarif' + sarif_file: "trivy-results.sarif" From f393c9c026e6bc625313e5a3b67e0dbd6f506638 Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Tue, 18 Aug 2026 10:19:59 -0400 Subject: [PATCH 2/9] [BUGFIX] YAML fixed --- .github/workflows/docker-image.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 950f49e..7734563 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -60,7 +60,6 @@ jobs: with: name: ${{ env.ARTIFACT_NAME }}_test path: /tmp/${{ env.ARTIFACT_NAME }}_test.tar - # Production image build moved to separate job `build-prod` build-prod: name: "Build Docker PRODUCTION image" From 60265624692426d51f46fd6b0e2c56856e8aa72e Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Tue, 18 Aug 2026 12:08:19 -0400 Subject: [PATCH 3/9] [OPTIMIZATION] Using Docker dedicated images for markdownlint and yamllint --- Makefile | 20 ++++++++++++++------ compose.yaml | 14 ++++++++++++++ 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 0a42d60..37cca7d 100644 --- a/Makefile +++ b/Makefile @@ -139,12 +139,20 @@ compose/rebuild: env ${DOCKER_COMPOSE} --profile testing build --no-cache ${DOCKER_COMPOSE} --profile production build --no-cache -compose/lint/markdown: compose/build - ${DOCKER_COMPOSE} --profile lint build - ${DOCKER_COMPOSE} --profile lint run --rm algorithm-exercises-cpp-lint make lint/markdown - -compose/lint/yaml: compose/build - ${DOCKER_COMPOSE} --profile lint run --rm algorithm-exercises-cpp-lint make lint/yaml +compose/lint/markdown: + ${DOCKER_COMPOSE} --profile lint run --rm \ + --workdir /workspace \ + -v "$$(pwd):/workspace" \ + markdownlint --config /workspace/.markdownlint.json '/workspace/**/*.md' \ + && echo '✔ Your code looks good.' + + +compose/lint/yaml: + ${DOCKER_COMPOSE} --profile lint run --rm \ + --workdir /workspace \ + -v "$$(pwd):/workspace" \ + yamllint --strict /workspace \ + && echo '✔ Your code looks good.' compose/test/styling: compose/build ${DOCKER_COMPOSE} --profile lint run --rm algorithm-exercises-cpp-lint make test/styling diff --git a/compose.yaml b/compose.yaml index b899879..a24f695 100644 --- a/compose.yaml +++ b/compose.yaml @@ -24,6 +24,20 @@ services: - ./:/app profiles: ["lint"] + markdownlint: + image: goncl/markdownlint-cli:latest + working_dir: /workspace + volumes: + - ./:/workspace + profiles: ["lint"] + + yamllint: + image: goncl/yamllint:latest + working_dir: /workspace + volumes: + - ./:/workspace + profiles: ["lint"] + algorithm-exercises-cpp-dev: image: algorithm-exercises-cpp:dev build: From 868734310b32d482d618262a3a9501e93793665d Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Tue, 18 Aug 2026 12:38:13 -0400 Subject: [PATCH 4/9] [CONFIG] Docker: new steps to use markdownlint and yamllint from public images. --- .github/workflows/docker-image.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index 7734563..cec190e 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -85,6 +85,26 @@ jobs: name: ${{ env.ARTIFACT_NAME }}_prod path: /tmp/${{ env.ARTIFACT_NAME }}_prod.tar + run-lint-markdown: + name: "Run in docker: Markdown LINT" + runs-on: ubuntu-26.04 + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + + - name: Run markdown lint + run: > + make compose/lint/markdown + + run-lint-yaml: + name: "Run in docker: YAML LINT" + runs-on: ubuntu-26.04 + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 + + - name: Run YAML lint + run: > + make compose/lint/yaml + run-lint: name: "Run in docker: LINT" runs-on: ubuntu-26.04 From 7d0fb68deeedff5e7f417097963afc147acdcdd0 Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Tue, 18 Aug 2026 12:11:52 -0400 Subject: [PATCH 5/9] Docker: yamllint and Markdownlint removed from main C/C++ Dockerfile --- Dockerfile | 30 ++++++++---------------------- Makefile | 6 ++++-- 2 files changed, 12 insertions(+), 24 deletions(-) diff --git a/Dockerfile b/Dockerfile index d1349d8..f1b1f71 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,4 @@ -ARG BASE_IMAGE_VERSION=ubuntu:26.04 -FROM ${BASE_IMAGE_VERSION} AS init +FROM ubuntu:26.04 AS init ENV WORKDIR=/app WORKDIR ${WORKDIR} @@ -24,15 +23,16 @@ RUN apt-get update \ | gpg --dearmor -o /usr/share/keyrings/kitware-archive-keyring.gpg \ && echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu $(lsb_release -cs) main" \ > /etc/apt/sources.list.d/kitware.list \ + && apt-get -y autoremove curl lsb-release gpg \ && apt-get update \ && apt-get install -y --no-install-recommends cmake \ ## clean up - && apt-get -y autoremove curl lsb-release \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* \ && make --version \ - && cmake --version \ - && g++ --version + && gcc --version \ + && g++ --version \ + && cmake --version # vcpkg Package Manager ENV VCPKG_FORCE_SYSTEM_BINARIES=1 @@ -95,20 +95,12 @@ RUN apt-get -y update \ && apt-get -y autoremove curl \ && rm -rf /var/lib/apt/lists/* -ADD https://deb.nodesource.com/setup_26.x nodesource_setup.sh -RUN bash nodesource_setup.sh && \ - apt-get -y install --no-install-recommends --no-install-suggests nodejs && \ - npm install -g --ignore-scripts markdownlint-cli@0.49.1 && \ - apt-get -y install --no-install-recommends --no-install-suggests python3-minimal python3-pip && \ - rm /usr/lib/python3.*/EXTERNALLY-MANAGED && \ - apt-get -y install --no-install-recommends --no-install-suggests yamllint && \ +RUN apt-get -y update && \ apt-get -y install --no-install-recommends --no-install-suggests cppcheck && \ rm -rf /var/lib/apt/lists/* # Tooling test RUN clang-format --version && \ - markdownlint --version && \ - yamllint --version && \ cppcheck --version # Code source @@ -118,12 +110,7 @@ COPY ./CMakeLists.txt ${WORKDIR}/CMakeLists.txt COPY ./CMakePresets.json ${WORKDIR}/CMakePresets.json COPY ./Makefile ${WORKDIR}/ -# markdownlint conf -COPY ./.markdownlint.json ${WORKDIR}/ - -# yamllint conf -COPY ./.yamllint ${WORKDIR}/ -COPY ./.yamlignore ${WORKDIR}/ +# Ignored files COPY ./.gitignore ${WORKDIR}/ CMD ["make", "lint"] @@ -138,14 +125,13 @@ COPY --from=builder ${WORKDIR}/build ${WORKDIR}/ CMD ["make", "test"] -FROM ${BASE_IMAGE_VERSION} AS production +FROM ubuntu:26.04 AS production ENV LOG_LEVEL=INFO ENV BRUTEFORCE=false ENV WORKDIR=/app WORKDIR ${WORKDIR} -# COPY ./Makefile ${WORKDIR}/ COPY --from=builder ${WORKDIR}/build/src/lib/exercises/*.a ${WORKDIR}/ RUN useradd --user-group --system --create-home --no-log-init app diff --git a/Makefile b/Makefile index 37cca7d..e536466 100644 --- a/Makefile +++ b/Makefile @@ -81,9 +81,11 @@ lint/markdown: && echo '✔ Your code looks good.' lint/yaml: - yamllint --stric . && echo '✔ Your code looks good.' + yamllint --strict . && echo '✔ Your code looks good.' -lint: lint/markdown lint/yaml test/styling test/static +lint: test/styling test/static + +lint/all: lint/markdown lint/yaml test/styling test/static test/static: prebuild cppcheck \ From b7831c31a1ce7b456c7f48444744cc018af4949c Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Tue, 18 Aug 2026 12:19:33 -0400 Subject: [PATCH 6/9] [REFACTOR] [OPTIMIZATION] lint and test steps re-arranged --- Dockerfile | 48 +++++++++++++++++------------------------------- Makefile | 14 +++++++++----- compose.yaml | 7 +++---- 3 files changed, 29 insertions(+), 40 deletions(-) diff --git a/Dockerfile b/Dockerfile index f1b1f71..cf928a9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ WORKDIR ${WORKDIR} ENV VCPKG_ROOT=/opt/vcpkg RUN apt-get -y update && \ - apt-get -y install --no-install-recommends --no-install-suggests make && \ + apt-get -y install --no-install-recommends --no-install-suggests ca-certificates make && \ rm -rf /var/lib/apt/lists/* FROM init AS builder @@ -16,7 +16,9 @@ ENV TZ=Etc/UTC # build tools RUN apt-get update \ && apt-get -y install --no-install-recommends --no-install-suggests \ - build-essential ca-certificates curl g++ gcc gpg \ + curl gpg lsb-release \ + && apt-get -y install --no-install-recommends --no-install-suggests \ + build-essential g++ gcc gpg \ lsb-release make pkg-config \ # CMAKE from Kitware repository && curl --proto "=https" -fsSL https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null \ @@ -42,7 +44,9 @@ ENV VCPKG_ROOT=/opt/vcpkg # vcpkg Package Manager RUN apt-get -y update && \ apt-get -y install --no-install-recommends --no-install-suggests \ - ca-certificates curl git ninja-build unzip zip \ + curl \ + && apt-get -y install --no-install-recommends --no-install-suggests \ + git ninja-build unzip zip \ && rm -rf /var/lib/apt/lists/* \ && mkdir /opt/vcpkg \ && git clone --branch "${VCPKG_VERSION}" https://github.com/microsoft/vcpkg "${VCPKG_ROOT}" \ @@ -76,44 +80,26 @@ FROM builder AS development # CMD [] -FROM builder AS lint +FROM init AS lint +# Instala sólo lo mínimo necesario para linting (cmake, clang-format, cppcheck) RUN apt-get update && \ - apt-get -y install --no-install-recommends --no-install-suggests gnupg software-properties-common && \ - rm -rf /var/lib/apt/lists/* - -RUN apt-get -y update \ - && apt-get -y install --no-install-recommends --no-install-suggests curl \ - && mkdir -p /etc/apt/keyrings \ - && curl -fsSL --proto "=https" https://apt.llvm.org/llvm-snapshot.gpg.key \ - | gpg --dearmor -o /etc/apt/keyrings/llvm-snapshot.gpg \ - && echo "deb [signed-by=/etc/apt/keyrings/llvm-snapshot.gpg] https://apt.llvm.org/resolute/ llvm-toolchain-resolute-22 main" \ - | tee /etc/apt/sources.list.d/llvm.list \ - && apt-get -y update \ - && apt-get -y install --no-install-recommends --no-install-suggests clang-format-22 \ - && update-alternatives --install /usr/bin/clang-format clang-format $(which clang-format-22) 100 \ - && apt-get -y autoremove curl \ + apt-get -y install --no-install-recommends --no-install-suggests \ + clang-format cmake cppcheck \ && rm -rf /var/lib/apt/lists/* -RUN apt-get -y update && \ - apt-get -y install --no-install-recommends --no-install-suggests cppcheck && \ - rm -rf /var/lib/apt/lists/* - # Tooling test RUN clang-format --version && \ - cppcheck --version + cppcheck --version && \ + cmake --version -# Code source +# Copia sólo lo necesario para ejecutar las comprobaciones COPY ./src ${WORKDIR}/src -COPY ./vcpkg.json ${WORKDIR}/vcpkg.json -COPY ./CMakeLists.txt ${WORKDIR}/CMakeLists.txt -COPY ./CMakePresets.json ${WORKDIR}/CMakePresets.json COPY ./Makefile ${WORKDIR}/ +RUN mkdir -p "${WORKDIR}"/build +COPY --from=builder ${WORKDIR}/build/compile_commands.json ${WORKDIR}/build/compile_commands.json -# Ignored files -COPY ./.gitignore ${WORKDIR}/ - -CMD ["make", "lint"] +CMD ["make", "lint-no-deps"] FROM development AS testing diff --git a/Makefile b/Makefile index e536466..fe2af3b 100644 --- a/Makefile +++ b/Makefile @@ -56,6 +56,7 @@ env: clean: sh -c "rm -fr -v *.gcov" || true + sh -c "rm -fr -v .cache" || true sh -c "rm -fr -v ./build/*" || true sh -c "rm -fr -v ./build/.*" || true touch ./build/.gitkeep @@ -84,10 +85,11 @@ lint/yaml: yamllint --strict . && echo '✔ Your code looks good.' lint: test/styling test/static +lint-no-deps: test/styling test/static-no-deps lint/all: lint/markdown lint/yaml test/styling test/static -test/static: prebuild +test/static-no-deps: cppcheck \ --project=build/compile_commands.json \ --enable=all \ @@ -100,6 +102,8 @@ test/static: prebuild --suppress=missingIncludeSystem \ --showtime=summary +test/static: prebuild test/static-no-deps + test/styling: clang-format --dry-run --Werror $(FILES) @@ -157,18 +161,18 @@ compose/lint/yaml: && echo '✔ Your code looks good.' compose/test/styling: compose/build - ${DOCKER_COMPOSE} --profile lint run --rm algorithm-exercises-cpp-lint make test/styling + ${DOCKER_COMPOSE} --profile lint run --rm algorithm-exercises-c-lint make test/styling compose/test/static: compose/build - ${DOCKER_COMPOSE} --profile lint run --rm algorithm-exercises-cpp-lint make test/static + ${DOCKER_COMPOSE} --profile lint run --rm algorithm-exercises-c-lint make test/static-no-deps compose/lint: compose/lint/markdown compose/lint/yaml compose/test/styling compose/test/static compose/test: compose/build - ${DOCKER_COMPOSE} --profile testing run --rm algorithm-exercises-cpp-test make test + ${DOCKER_COMPOSE} --profile testing run --rm algorithm-exercises-c-test make test compose/run: compose/build - ${DOCKER_COMPOSE} --profile production run --rm algorithm-exercises-cpp ls -alhR + ${DOCKER_COMPOSE} --profile production run --rm algorithm-exercises-c ls -alhR compose/all: compose/rebuild compose/test compose/lint diff --git a/compose.yaml b/compose.yaml index a24f695..65112c8 100644 --- a/compose.yaml +++ b/compose.yaml @@ -17,11 +17,10 @@ services: build: context: . target: lint - # environment: - # LOG_LEVEL: ${LOG_LEVEL:-info} ## (1) ## info | debug - # BRUTEFORCE: ${BRUTEFORCE:-false} ## (1) ## true | false volumes: - - ./:/app + - ./.clang-format:/app/.clang-format + - ./Makefile:/app/Makefile + - ./src:/app/src profiles: ["lint"] markdownlint: From d982a7af5c526729daf627b616e6e190b38d2888 Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Tue, 18 Aug 2026 12:59:29 -0400 Subject: [PATCH 7/9] [Docker] avoid to create unnecesary ASM (.s) files on docker image. --- CMakeLists.txt | 26 +++++++++++++++++++++++--- Dockerfile | 2 ++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index df8e5a0..eaf0cad 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,16 @@ cmake_minimum_required(VERSION 3.21) -project(algoritm-exercises-cpp CXX C ASM) +project(algorithm-exercises-cpp CXX C ASM) + +# Option to control whether compiler should save intermediate temps (assembly files) +option(GENERATE_ASM "Generate assembly outputs (*.s) during the build" OFF) + +# Allow overriding from environment variable GENERATE_ASM (1/ON to enable) +if(DEFINED ENV{GENERATE_ASM}) + if("$ENV{GENERATE_ASM}" STREQUAL "1" OR "$ENV{GENERATE_ASM}" STREQUAL "ON") + set(GENERATE_ASM ON CACHE BOOL "Generate assembly outputs" FORCE) + endif() +endif() # Must be set before including CTest so that these arguments are applied when # running `$ ninja test` or `$ make test`. @@ -19,10 +29,20 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # -fsanitize=address causes SIGILL on macOS (Clang 17 + macOS 26 Intel) due to # ASan runtime incompatibility. Coverage instrumentation still works without it. if(APPLE) - SET(GCC_COVERAGE_COMPILE_FLAGS "-fprofile-arcs -ftest-coverage -g -O0 -save-temps") + if(GENERATE_ASM) + SET(SAVE_TEMPS_FLAG "-save-temps") + else() + SET(SAVE_TEMPS_FLAG "") + endif() + SET(GCC_COVERAGE_COMPILE_FLAGS "-fprofile-arcs -ftest-coverage -g -O0 ${SAVE_TEMPS_FLAG}") SET(GCC_COVERAGE_LINK_FLAGS "--coverage") else() - SET(GCC_COVERAGE_COMPILE_FLAGS "-fsanitize=address -fprofile-arcs -ftest-coverage -g -O0 -save-temps") + if(GENERATE_ASM) + SET(SAVE_TEMPS_FLAG "-save-temps") + else() + SET(SAVE_TEMPS_FLAG "") + endif() + SET(GCC_COVERAGE_COMPILE_FLAGS "-fsanitize=address -fprofile-arcs -ftest-coverage -g -O0 ${SAVE_TEMPS_FLAG}") SET(GCC_COVERAGE_LINK_FLAGS "--coverage") endif() diff --git a/Dockerfile b/Dockerfile index cf928a9..d136e8b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,6 +9,8 @@ RUN apt-get -y update && \ rm -rf /var/lib/apt/lists/* FROM init AS builder +ARG GENERATE_ASM=0 +ENV GENERATE_ASM=${GENERATE_ASM} ARG DEBIAN_FRONTEND=noninteractive ENV TZ=Etc/UTC From fe061db2d57af3fda66bf6988514323e128c2b00 Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Tue, 18 Aug 2026 13:24:10 -0400 Subject: [PATCH 8/9] [BUGFIX] CMAKE typo in project name --- .github/workflows/docker-image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-image.yml b/.github/workflows/docker-image.yml index cec190e..502085f 100644 --- a/.github/workflows/docker-image.yml +++ b/.github/workflows/docker-image.yml @@ -128,7 +128,7 @@ jobs: docker compose --profile lint run --rm ${{ env.IMAGE_NAME }}-lint - make lint + make lint-no-deps run-test: name: "Run in docker: TEST" From de05b4264a48f7b42a1bf5a887b4e7aff6f67f7f Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Tue, 18 Aug 2026 13:36:01 -0400 Subject: [PATCH 9/9] [Docker] avoid to copy another unnecessary files to docker image. --- .dockerignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.dockerignore b/.dockerignore index 1414ceb..44d3a35 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,6 @@ +.cache .git +.vscode build +coverage vcpkg_installed