Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion dg_deployments/Dockerfile.dagster-k8s
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
# Usage with Helm chart:
# Set dagsterDaemon.image.repository and dagsterDaemon.image.tag in values.yaml

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Several pyproject.toml files were not updated to require Python 3.14, creating an inconsistency with the Docker images which now use Python 3.14.
Severity: MEDIUM

Suggested Fix

Update the requires-python setting in the root pyproject.toml, packages/ol-orchestrate-lib/pyproject.toml, and dg_projects/data_loading/pyproject.toml to require Python 3.14 (e.g., >=3.14,<3.15) to match the version used in the Docker containers.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: dg_deployments/Dockerfile.dagster-k8s#L12

Potential issue: The pull request updates the Docker images to use Python 3.14, but
several `pyproject.toml` files (in the root, `packages/ol-orchestrate-lib`, and
`dg_projects/data_loading`) were not updated to match. These files still allow for
Python `>3.13`, creating a discrepancy between local development and production
environments. This could lead to subtle bugs if code is developed against a different
Python version than what is run in the containerized production environment.

Did we get this right? 👍 / 👎 to inform future reviews.

FROM python:3.13-slim
FROM python:3.14-slim

# Install uv for faster Python dependency management
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
Expand Down
2 changes: 1 addition & 1 deletion dg_projects/lakehouse/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ RUN /app/dg_projects/lakehouse/.venv/bin/dbt deps && \

# Then, use a final image without uv
# Using Python 3.13 to match builder image
FROM python:3.13-slim-bookworm
FROM python:3.14-slim-bookworm
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The lakehouse Dockerfile builder stage uses Python 3.13, but the final stage uses Python 3.14, creating an incompatible virtual environment.
Severity: CRITICAL

Suggested Fix

Update the builder stage in dg_projects/lakehouse/Dockerfile to use a Python 3.14 base image. Change FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim AS builder to FROM ghcr.io/astral-sh/uv:python3.14-bookworm-slim AS builder to match the final stage's Python version. Also, update the outdated comment that mentions using Python 3.13.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: dg_projects/lakehouse/Dockerfile#L47

Potential issue: The `lakehouse` Dockerfile builds a Python virtual environment using a
Python 3.13 base image (`ghcr.io/astral-sh/uv:python3.13-bookworm-slim`) but copies it
into a final image that runs on Python 3.14 (`python:3.14-slim-bookworm`). This mismatch
will cause runtime failures because the virtual environment's executables and compiled
packages are incompatible with the Python 3.14 interpreter in the final container. The
project's `pyproject.toml` specifies a requirement for Python 3.14, confirming the final
image's version is intended but the builder was overlooked.

# It is important to use the image that matches the builder, as the path to the
# Python executable must be the same.

Expand Down
2 changes: 1 addition & 1 deletion dg_projects/lakehouse/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "lakehouse"
requires-python = ">=3.13,<3.14"
requires-python = ">=3.14,<3.15"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: The pyproject.toml requires Python 3.14, but the Docker builder stage uses Python 3.13. This will cause the uv sync command to fail during the build.
Severity: CRITICAL

Suggested Fix

Update the Dockerfile's builder stage to use a Python 3.14 base image to match the requirement in pyproject.toml. Change FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim AS builder to FROM ghcr.io/astral-sh/uv:python3.14-bookworm-slim AS builder.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: dg_projects/lakehouse/pyproject.toml#L3

Potential issue: The project's `pyproject.toml` specifies `requires-python =
">=3.14,<3.15"`, but the Dockerfile's `builder` stage is configured to use Python 3.13
via `FROM ghcr.io/astral-sh/uv:python3.13-bookworm-slim`. When the build process
executes `uv sync`, it will detect this version mismatch. Because automatic Python
downloads are disabled via `ENV UV_PYTHON_DOWNLOADS=0`, `uv` cannot fetch a compatible
version and will raise an error, causing the entire Docker build to fail. This prevents
the creation of a new application image.

version = "0.1.0"
dependencies = [
"dagster>=1.12.10",
Expand Down
Loading
Loading