Skip to content

Commit fc95342

Browse files
dugshubclaude
andcommitted
CI: Add Docker Compose setup for CI environment
- Create docker-compose.ci.yml with Python 3.9 environment - Add CI entrypoint script for dependency installation - Configure pip cache volume for faster builds - Include benchmark service configuration for future use - Update .gitignore to allow CI entrypoint script 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 91ce180 commit fc95342

File tree

3 files changed

+44
-0
lines changed

3 files changed

+44
-0
lines changed

.docker/ci-entrypoint.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
set -e
3+
4+
# Install system dependencies quietly
5+
apt-get update -qq
6+
apt-get install -y -qq make > /dev/null 2>&1
7+
8+
# Install Python dependencies quietly
9+
pip install -q -e . 2>/dev/null
10+
pip install -q mypy pytest pytest-asyncio pytest-cov black ruff 2>/dev/null
11+
12+
# Execute the passed command
13+
exec "$@"

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,3 +176,8 @@ Desktop.ini
176176
*.swp
177177
*.swo
178178
*~.cli_patterns_history
179+
180+
# CI artifacts
181+
/tmp/
182+
benchmark_results.json
183+
# .docker/ # Commented out to allow CI entrypoint script

docker-compose.ci.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
services:
2+
ci:
3+
image: python:3.9-slim-bookworm
4+
environment:
5+
- PYTHONPATH=src
6+
- CI=true
7+
volumes:
8+
- .:/workspace
9+
- pip-cache:/root/.cache/pip
10+
working_dir: /workspace
11+
entrypoint: ["/workspace/.docker/ci-entrypoint.sh"]
12+
13+
# For performance regression testing (future)
14+
benchmark:
15+
extends: ci
16+
cpus: '2.0'
17+
mem_limit: 4g
18+
memswap_limit: 4g
19+
environment:
20+
- PYTHONPATH=src
21+
- CI=true
22+
- BENCHMARK_MODE=true
23+
24+
volumes:
25+
pip-cache:
26+
driver: local

0 commit comments

Comments
 (0)