Skip to content
Merged
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
8 changes: 4 additions & 4 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ jobs:
environment: deploy-to-aws
steps:
- uses: actions/checkout@v6.0.2
- uses: aws-actions/configure-aws-credentials@v6.1.0
- uses: aws-actions/configure-aws-credentials@v6.1.3
with:
aws-region: ${{ vars.AWS_REGION }}
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/${{ vars.AWS_DEPLOYMENT_ROLE }}
- uses: aws-actions/amazon-ecr-login@v2.1.3
- uses: aws-actions/amazon-ecr-login@v2.1.5
id: log-into-ecr
- name: Build, tag, and push Docker image to Amazon ECR
id: build-tag-and-push-docker-image
Expand All @@ -37,13 +37,13 @@ jobs:
-e 's/AWS_EXECUTION_ROLE_PLACEHOLDER/${{ vars.AWS_EXECUTION_ROLE }}/g'
-e 's/AWS_REGION_PLACEHOLDER/${{ vars.AWS_REGION }}/g'
task-definition.json
- uses: aws-actions/amazon-ecs-render-task-definition@v1.8.4
- uses: aws-actions/amazon-ecs-render-task-definition@v1.8.5
id: render-task-definition
with:
container-name: atoti-session
image: ${{ steps.build-tag-and-push-docker-image.outputs.tag }}
task-definition: task-definition.json
- uses: aws-actions/amazon-ecs-deploy-task-definition@v2.6.1
- uses: aws-actions/amazon-ecs-deploy-task-definition@v2.6.2
with:
cluster: atoti-project-template
service: atoti-project-template
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ jobs:
with:
enable-cache: true
# Keep in sync with pyproject.toml's `tool.uv.required-version`.
version: "0.11.2"
version: "0.11.17"
# Keep in sync with pyproject.toml's `project.requires-python`.
- run: uv python install 3.12
- run: uv python install 3.14
- run: uv sync --locked
- run: uv run -m skeleton
- run: uv run ruff format --check
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# Keep Python version in sync with:
# - pyproject.toml's `project.requires-python`.
# - the main stage below.
FROM ghcr.io/astral-sh/uv:0.11.2-python3.12-trixie-slim AS builder
FROM ghcr.io/astral-sh/uv:0.11.17-python3.14-trixie-slim AS builder

ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy

Expand All @@ -21,7 +21,7 @@ RUN --mount=type=bind,source=skeleton,target=skeleton_tmp \
rm -r app

# Keep this synced with the `builder` stage above.
FROM python:3.12-slim-trixie
FROM python:3.14-slim-trixie

COPY --from=builder /venv app

Expand Down
7 changes: 3 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,17 +15,16 @@ version = "0.1.0"
# Keep in sync with:
# - .github/workflows/test.yml
# - Dockerfile`'s `FROM` commands.
requires-python = ">=3.12"
requires-python = ">=3.14"
dependencies = [
"atoti[observability]",
"httpx",
"opentelemetry-exporter-otlp-proto-http",
"opentelemetry-instrumentation-httpx",
"opentelemetry-sdk",
"pandas>=2.2.3,<3.0.0.rc0",
"pandas",
"pydantic",
"pydantic-settings",
"typing-extensions",
]

[tool.pytest]
Expand Down Expand Up @@ -79,4 +78,4 @@ error-on-warning = true
# Keep in sync with:
# - .github/workflows/test.yml
# - Dockerfile`'s `builder`.
required-version = ">=0.11.2"
required-version = ">=0.11.17"
3 changes: 1 addition & 2 deletions skeleton/generate.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@
from itertools import count
from os import linesep
from textwrap import dedent
from typing import Annotated, TypeAliasType, get_args, get_origin
from typing import Annotated, TypeAliasType, get_args, get_origin, is_typeddict

from pydantic import TypeAdapter
from typing_extensions import is_typeddict

from .node import Node

Expand Down
2 changes: 1 addition & 1 deletion tests/docker/_docker_container.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ def docker_container(
client: docker.DockerClient,
container_name: str | None = None,
env: Mapping[str, str] | None = None,
) -> Generator[Container, None, None]:
) -> Generator[Container]:
container = client.containers.run(
image_name,
detach=True,
Expand Down
6 changes: 3 additions & 3 deletions tests/docker/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@ def docker_bin_fixture() -> Path:


@pytest.fixture(name="docker_client", scope="session")
def docker_client_fixture() -> Generator[docker.DockerClient, None, None]:
def docker_client_fixture() -> Generator[docker.DockerClient]:
with closing(docker.from_env()) as client:
yield client


@pytest.fixture(name="docker_image_name", scope="session")
def docker_image_name_fixture(
docker_bin: Path, docker_client: docker.DockerClient, project_name: str
) -> Generator[str, None, None]:
) -> Generator[str]:
tag = f"{project_name}:{uuid4()}"

# BuildKit is enabled by default for all users on Docker Desktop.
Expand All @@ -53,7 +53,7 @@ def docker_image_name_fixture(
@pytest.fixture(name="session_inside_docker_container", scope="session")
def session_inside_docker_container_fixture(
docker_client: docker.DockerClient, docker_image_name: str
) -> Generator[tt.Session, None, None]:
) -> Generator[tt.Session]:
timeout = Timeout(timedelta(minutes=1))

with docker_container(
Expand Down
Loading