mirror of
https://github.com/anthropics/claude-code-sdk-python.git
synced 2025-12-23 09:19:52 +00:00
## Summary - Add `Dockerfile.test`: Python 3.12 image with Claude Code CLI installed - Add `scripts/test-docker.sh`: Local script to run tests in Docker - Add `test-e2e-docker` job to CI workflow that runs the full e2e suite in a container - Add `.dockerignore` to speed up Docker builds ## Context This helps catch Docker-specific issues like #406 where filesystem-based agents loaded via `setting_sources=["project"]` may silently fail in Docker environments. ## Local Usage ```bash # Run unit tests in Docker (no API key needed) ./scripts/test-docker.sh unit # Run e2e tests in Docker ANTHROPIC_API_KEY=sk-... ./scripts/test-docker.sh e2e # Run all tests ANTHROPIC_API_KEY=sk-... ./scripts/test-docker.sh all ``` ## Test plan - [x] Unit tests pass in Docker locally (129 passed) - [ ] CI job runs successfully 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude <noreply@anthropic.com>
29 lines
676 B
Text
29 lines
676 B
Text
# Dockerfile for running SDK tests in a containerized environment
|
|
# This helps catch Docker-specific issues like #406
|
|
|
|
FROM python:3.12-slim
|
|
|
|
# Install dependencies for Claude CLI and git (needed for some tests)
|
|
RUN apt-get update && apt-get install -y \
|
|
curl \
|
|
git \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Install Claude Code CLI
|
|
RUN curl -fsSL https://claude.ai/install.sh | bash
|
|
ENV PATH="/root/.local/bin:$PATH"
|
|
|
|
# Set up working directory
|
|
WORKDIR /app
|
|
|
|
# Copy the SDK source
|
|
COPY . .
|
|
|
|
# Install SDK with dev dependencies
|
|
RUN pip install -e ".[dev]"
|
|
|
|
# Verify CLI installation
|
|
RUN claude -v
|
|
|
|
# Default: run unit tests
|
|
CMD ["python", "-m", "pytest", "tests/", "-v"]
|