From e17838230eb45e287a5a27832e3e32281222b27e Mon Sep 17 00:00:00 2001 From: DoDiODev Date: Tue, 14 Jul 2026 15:26:30 +0200 Subject: [PATCH] build: pin swag CLI and oauth2-proxy, ignore build artifacts in docker context Make the backend container build inputs reproducible and shrink the Docker build context: - Align the swag CLI pin to v1.16.6 across backend/Makefile, backend/Dockerfile and backend/Dockerfile.local so local, CI and image builds generate Swagger docs with the same tool version. - Pin the oauth2-proxy dev auth proxy image to v7.15.3-amd64 in both docker-compose-dev-mysql.yml and docker-compose-dev-postgresql.yml. - Add backend/.dockerignore to keep regenerated build artifacts (bin/, mocks/, logs/, Python venv/build output, coverage files and OS junk) out of the build context. Source under python/ is retained. No functional/runtime code changes. Signed-off-by: DoDiODev --- backend/.dockerignore | 24 ++++++++++++++++++++++++ backend/Dockerfile | 2 +- backend/Dockerfile.local | 2 +- backend/Makefile | 2 +- docker-compose-dev-mysql.yml | 2 +- docker-compose-dev-postgresql.yml | 2 +- 6 files changed, 29 insertions(+), 5 deletions(-) create mode 100644 backend/.dockerignore diff --git a/backend/.dockerignore b/backend/.dockerignore new file mode 100644 index 00000000000..36ee77aae07 --- /dev/null +++ b/backend/.dockerignore @@ -0,0 +1,24 @@ +# Build artifacts: regenerated inside the image (GOBIN=/app/bin + make build-plugin/build-server). +# Shipping the host's pre-built bin/ (multiple GB of plugin .so files) bloats the +# build context and the builder layer, which can exhaust the Docker VM and crash BuildKit. +bin/ + +# Generated mocks (regenerated via make mock inside the image) +mocks/ + +# Runtime logs +logs/ + +# Python build/venv artifacts (regenerated; Dockerfile.server reinstalls from +# requirements.txt / pyproject and runs python/build.sh). Source under python/ is kept. +**/.venv/ +**/__pycache__/ +**/*.pyc +python/.devlake-python-build-root/ + +# Test / coverage output +*.out +coverage.txt + +# OS / editor junk +.DS_Store diff --git a/backend/Dockerfile b/backend/Dockerfile index 4246ae5f9f5..1d839f72e8c 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -50,7 +50,7 @@ RUN if [ "$(arch)" != "x86_64" ] ; then \ fi RUN go install github.com/vektra/mockery/v2@v2.53.6 -RUN go install github.com/swaggo/swag/cmd/swag@v1.16.1 +RUN go install github.com/swaggo/swag/cmd/swag@v1.16.6 COPY --from=debian-amd64 /usr/include /rootfs-amd64/usr/include COPY --from=debian-amd64 /usr/lib/x86_64-linux-gnu /rootfs-amd64/usr/lib/x86_64-linux-gnu diff --git a/backend/Dockerfile.local b/backend/Dockerfile.local index ee306dd7e7a..2fadbcec90e 100644 --- a/backend/Dockerfile.local +++ b/backend/Dockerfile.local @@ -48,7 +48,7 @@ RUN mkdir -p /tmp/build && cd /tmp/build && \ ldconfig RUN go install github.com/vektra/mockery/v2@v2.53.6 -RUN go install github.com/swaggo/swag/cmd/swag@v1.16.1 +RUN go install github.com/swaggo/swag/cmd/swag@v1.16.6 WORKDIR /app COPY . /app diff --git a/backend/Makefile b/backend/Makefile index 369e1490f27..7aca0a2e471 100644 --- a/backend/Makefile +++ b/backend/Makefile @@ -28,7 +28,7 @@ all: build go-dep: go install github.com/vektra/mockery/v2@v2.53.6 - go install github.com/swaggo/swag/cmd/swag@v1.16.1 + go install github.com/swaggo/swag/cmd/swag@v1.16.6 go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.12.2 go-dev-tools: diff --git a/docker-compose-dev-mysql.yml b/docker-compose-dev-mysql.yml index 52561e442f2..11b9bab0b5f 100644 --- a/docker-compose-dev-mysql.yml +++ b/docker-compose-dev-mysql.yml @@ -97,7 +97,7 @@ services: - devlake authproxy: - image: quay.io/oauth2-proxy/oauth2-proxy:v7.4.0-amd64 + image: quay.io/oauth2-proxy/oauth2-proxy:v7.15.3-amd64 network_mode: "host" ports: - 4181:4180 diff --git a/docker-compose-dev-postgresql.yml b/docker-compose-dev-postgresql.yml index b718cf5d3f5..36b0a34e6e7 100644 --- a/docker-compose-dev-postgresql.yml +++ b/docker-compose-dev-postgresql.yml @@ -93,7 +93,7 @@ services: - devlake authproxy: - image: quay.io/oauth2-proxy/oauth2-proxy:v7.4.0-amd64 + image: quay.io/oauth2-proxy/oauth2-proxy:v7.15.3-amd64 network_mode: "host" ports: - 4180:4180