feat: initial commit
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# Obraz runnera dla pipeline'u agentowego.
|
||||
# W środowisku regulowanym buduj go u siebie i publikuj do wewnętrznego rejestru -
|
||||
# job modyfikujący kod nie powinien ciągnąć obrazu z internetu przy każdym uruchomieniu.
|
||||
FROM python:3.12-slim
|
||||
|
||||
ARG APM_VERSION=latest
|
||||
ENV PYTHONDONTWRITEBYTECODE=1 \
|
||||
PYTHONUNBUFFERED=1 \
|
||||
PIP_NO_CACHE_DIR=1
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
git ca-certificates ripgrep curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# APM CLI - dostawca kontekstu agentowego.
|
||||
# W sieci wewnętrznej podmień na instalację z lustra pakietów (PIP_INDEX_URL).
|
||||
RUN pip install --no-cache-dir "apm-cli${APM_VERSION:+}" || \
|
||||
(echo "Instalacja apm-cli z PyPI nieudana - uzupełnij obraz o lustro wewnętrzne" && exit 1)
|
||||
|
||||
WORKDIR /opt/agentic-codemod
|
||||
COPY pyproject.toml ./
|
||||
COPY src ./src
|
||||
RUN pip install --no-cache-dir .
|
||||
|
||||
# Runner nie pracuje na koncie root - zmiany w repozytorium mają być zwykłymi plikami.
|
||||
RUN useradd --create-home --uid 1001 codemod
|
||||
USER codemod
|
||||
|
||||
ENTRYPOINT ["agentic-codemod"]
|
||||
CMD ["--help"]
|
||||
Executable
+22
@@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env bash
|
||||
# Wejście dla joba CI: zainstaluj kontekst, sprawdź go, uruchom przebieg.
|
||||
# Skrypt jest celowo cienki - logika mieszka w CLI, żeby dało się ją odtworzyć lokalnie.
|
||||
set -euo pipefail
|
||||
|
||||
: "${CODEMOD_PACKAGE:?ustaw CODEMOD_PACKAGE}"
|
||||
: "${CODEMOD_TO_VERSION:?ustaw CODEMOD_TO_VERSION}"
|
||||
RUN_DIR="${CODEMOD_RUN_DIR:-.runs/local}"
|
||||
|
||||
apm install
|
||||
apm audit
|
||||
agentic-codemod context --json > "${RUN_DIR}/apm-context.json" 2>/dev/null || true
|
||||
|
||||
exec agentic-codemod run \
|
||||
--repo "${CI_PROJECT_DIR:-$PWD}" \
|
||||
--in-place \
|
||||
--package "${CODEMOD_PACKAGE}" \
|
||||
--to-version "${CODEMOD_TO_VERSION}" \
|
||||
--module "${CODEMOD_MODULE:-}" \
|
||||
--constraints "${CODEMOD_CONSTRAINTS:-}" \
|
||||
--run-dir "${RUN_DIR}" \
|
||||
"$@"
|
||||
Reference in New Issue
Block a user