diff --git a/.github/workflows/docker-no-push.yml b/.github/workflows/docker-no-push.yml index 40152d7..13bfeea 100644 --- a/.github/workflows/docker-no-push.yml +++ b/.github/workflows/docker-no-push.yml @@ -19,15 +19,16 @@ jobs: uses: actions/setup-python@v6 with: python-version: '3.14' + - name: Configurar uv + uses: astral-sh/setup-uv@v6 - name: Instalar dependencias run: | - python -m pip install --upgrade pip - pip install -r requirements.txt + uv sync --no-dev --no-install-project - name: Ejecutar tests env: DJANGO_SETTINGS_MODULE: proyecto.settings run: | - python manage.py test + uv run python manage.py test docker: runs-on: ubuntu-latest diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 2f644dc..118756e 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -16,15 +16,16 @@ jobs: uses: actions/setup-python@v6 with: python-version: '3.14' + - name: Configurar uv + uses: astral-sh/setup-uv@v6 - name: Instalar dependencias run: | - python -m pip install --upgrade pip - pip install -r requirements.txt + uv sync --no-dev --no-install-project - name: Ejecutar tests env: DJANGO_SETTINGS_MODULE: proyecto.settings run: | - python manage.py test + uv run python manage.py test docker: runs-on: ubuntu-latest needs: test diff --git a/Dockerfile b/Dockerfile index 9852d82..855ed73 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,9 +4,10 @@ ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 WORKDIR /app -COPY requirements.txt /app/ +COPY pyproject.toml /app/ RUN apk --no-cache update && apk --no-cache upgrade -RUN pip install --no-cache-dir -r requirements.txt +RUN pip install --no-cache-dir uv +RUN uv sync --no-dev --no-install-project COPY . /app/ RUN chmod +x /app/entrypoint.sh @@ -16,4 +17,4 @@ EXPOSE 8000 RUN mkdir -pv /fonts COPY tienda/static/fonts/ /fonts/ -ENTRYPOINT ["/bin/sh", "/app/entrypoint.sh"] \ No newline at end of file +ENTRYPOINT ["/bin/sh", "/app/entrypoint.sh"] diff --git a/entrypoint.sh b/entrypoint.sh index c505069..8dda55e 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -5,10 +5,10 @@ set -eu echo "Sleeping due to mysql..." sleep 10 echo "Running DB migrations..." -python manage.py migrate +uv run python manage.py migrate echo "Collecting STATIC..." -python manage.py collectstatic --noinput --clear +uv run python manage.py collectstatic --noinput --clear echo "Running server!" -gunicorn --bind 0.0.0.0:8000 proyecto.wsgi:application --forwarded-allow-ips="*" \ No newline at end of file +uv run gunicorn --bind 0.0.0.0:8000 proyecto.wsgi:application --forwarded-allow-ips="*" diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..8f6946a --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,22 @@ +[project] +name = "proyecto-final" +version = "0.1.0" +requires-python = ">=3.14" +dependencies = [ + "celery==5.6.3", + "Django==6.0.5", + "django-compressor==4.6.0", + "django-redis==6.0.0", + "django-storages[s3]==1.14.6", + "fpdf2==2.8.7", + "gunicorn==26.0.0", + "paypalrestsdk==1.13.3", + "pillow==12.2.0", + "psycopg2-binary==2.9.12", + "requests==2.33.1", + "stripe==15.1.0", + "whitenoise==6.12.0", +] + +[tool.uv] +package = false