From 188a4725e61382bc26c21b358f8fdfb723658ae6 Mon Sep 17 00:00:00 2001 From: Klagarge Date: Thu, 20 Mar 2025 15:45:20 +0100 Subject: [PATCH] perf(docker): slight optimisation and refector Signed-off-by: Klagarge --- .gitlab-ci.yml | 20 ++++++++++---------- Dockerfile | 11 ++++------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 15a5db5..1803ace 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,19 +9,22 @@ stages: - lint - test -test job: - stage: test - script: +.setup_env: &setup_env + before_script: - cd src - cp -r /app/__pypackages__ . + - export "PYTHONPATH=/builds/Klagarge/mse2425-grp09/src:/builds/Klagarge/mse2425-grp09/src/__pypackages__/3.9/lib" + - export "PATH=/builds/Klagarge/mse2425-grp09/src/__pypackages__/3.9/bin:$PATH" + - export "FLASK_APP=app" +test job: + stage: test + <<: *setup_env + script: # Set environment variables for the tests - export FLASK_SECRET_KEY=$FLASK_SECRET_KEY # launch tests - - export PYTHONPATH="/builds/Klagarge/mse2425-grp09/src:/builds/Klagarge/mse2425-grp09/src/__pypackages__/3.9/lib" - - export PATH="/builds/Klagarge/mse2425-grp09/src/__pypackages__/3.9/bin:$PATH" - - export FLASK_APP=app - pdm run pytest tests --cov --cov-report term --cov-report html artifacts: @@ -30,12 +33,9 @@ test job: lint job: stage: lint + <<: *setup_env dependencies: [] script: - - cd src/ - - cp -r /app/__pypackages__ . - - export PYTHONPATH="/builds/Klagarge/mse2425-grp09/src:/builds/Klagarge/mse2425-grp09/src/__pypackages__/3.9/lib" - - export PATH="/builds/Klagarge/mse2425-grp09/src/__pypackages__/3.9/bin:$PATH" - pdm run flake8 --config=../tox.ini allow_failure: true # Linter can fail, fixing it is for now outside of the projects scope diff --git a/Dockerfile b/Dockerfile index d1e5cd4..17385ff 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,10 @@ -FROM python:3.9-slim +FROM python:3.10-slim LABEL maintener="Rémi Heredero " RUN apt-get update && \ - apt-get install -y --no-install-recommends curl && \ + pip install --no-cache-dir -U pdm && \ rm -rf /var/lib/apt/lists/* -RUN curl -sSL https://pdm-project.org/install-pdm.py | python3 - ENV PATH="/root/.local/bin:$PATH" \ PDM_USE_VENV=false @@ -17,7 +16,5 @@ COPY src/pyproject.toml src/pdm.lock ./ RUN pdm config python.use_venv false && \ pdm install -G:all -ENV PATH="/root/.local/bin:$PATH" \ - PDM_USE_VENV=false \ - PYTHONPATH="/app/__pypackages__/3.9/lib" \ - PATH="/app/__pypackages__/3.9/bin:$PATH" \ No newline at end of file +ENV PYTHONPATH="/app/__pypackages__/3.9/lib" \ + PATH="/app/__pypackages__/3.9/bin:$PATH"