From 3404af578b208f39f8b7876d55c007fc70cd7578 Mon Sep 17 00:00:00 2001 From: Naeel Date: Mon, 23 Mar 2026 11:23:01 +0300 Subject: [PATCH] =?UTF-8?q?feat(builder):=20py=5Fcompile=20+=20node=20--ch?= =?UTF-8?q?eck=20=D0=BF=D1=80=D0=B8=20=D1=81=D0=B1=D0=BE=D1=80=D0=BA=D0=B5?= =?UTF-8?q?=20=D0=BB=D0=BE=D0=B2=D1=8F=D1=82=20=D1=81=D0=B8=D0=BD=D1=82?= =?UTF-8?q?=D0=B0=D0=BA=D1=81=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8=20(v0.1.63)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/builder/context.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/builder/context.go b/internal/builder/context.go index 31d9fa5..ee73de2 100644 --- a/internal/builder/context.go +++ b/internal/builder/context.go @@ -132,11 +132,17 @@ func generateDockerfile(runtime string, hasRequirements bool, hasPackageJSON boo if hasRequirements { content += "RUN pip install --no-cache-dir -r /app/function/requirements.txt\n" } + // Проверяем синтаксис всех .py файлов на этапе сборки образа. + // Если в коде синтаксическая ошибка — kaniko завершится с ошибкой и фаза = Failed. + // Без этого шага образ собирается успешно, а под падает в CrashLoopBackOff при запуске. + content += "RUN python -m py_compile $(find /app/function -name '*.py')\n" case "nodejs20": if hasPackageJSON { // cd нужен т.к. npm install читает package.json из текущей директории content += "RUN cd /app/function && npm install --omit=dev\n" } + // Проверяем синтаксис всех .js файлов через node --check. + content += "RUN find /app/function -name '*.js' | xargs -r node --check\n" } return []byte(content), nil }