Docker files restored for use on other machines with Docker/WSL2. Available test methods: 1. Docker (isolated environment): docker-compose -f docker/evolution-test/docker-compose.yml up evolution-feature 2. Local (bun runtime): docker/evolution-test/run-local-test.bat feature ./docker/evolution-test/run-local-test.sh feature Both methods provide: - Millisecond precision timing - Fitness score with 2 decimal places - JSONL logging to .kilo/logs/fitness-history.jsonl
88 lines
2.4 KiB
YAML
88 lines
2.4 KiB
YAML
# Evolution Test Containers
|
|
# Run multiple workflow tests in parallel
|
|
|
|
version: '3.8'
|
|
|
|
services:
|
|
# Evolution test runner for feature workflow
|
|
evolution-feature:
|
|
build:
|
|
context: ../..
|
|
dockerfile: docker/evolution-test/Dockerfile
|
|
container_name: evolution-feature
|
|
environment:
|
|
- WORKFLOW_TYPE=feature
|
|
- TOKEN_BUDGET=50000
|
|
- TIME_BUDGET=300
|
|
- MIN_COVERAGE=80
|
|
volumes:
|
|
- ../../.kilo/logs:/app/.kilo/logs
|
|
- ../../src:/app/src
|
|
command: bun test --reporter=json --coverage
|
|
|
|
# Evolution test runner for bugfix workflow
|
|
evolution-bugfix:
|
|
build:
|
|
context: ../..
|
|
dockerfile: docker/evolution-test/Dockerfile
|
|
container_name: evolution-bugfix
|
|
environment:
|
|
- WORKFLOW_TYPE=bugfix
|
|
- TOKEN_BUDGET=20000
|
|
- TIME_BUDGET=120
|
|
- MIN_COVERAGE=90
|
|
volumes:
|
|
- ../../.kilo/logs:/app/.kilo/logs
|
|
- ../../src:/app/src
|
|
command: bun test --reporter=json --coverage
|
|
|
|
# Evolution test runner for refactor workflow
|
|
evolution-refactor:
|
|
build:
|
|
context: ../..
|
|
dockerfile: docker/evolution-test/Dockerfile
|
|
container_name: evolution-refactor
|
|
environment:
|
|
- WORKFLOW_TYPE=refactor
|
|
- TOKEN_BUDGET=40000
|
|
- TIME_BUDGET=240
|
|
- MIN_COVERAGE=95
|
|
volumes:
|
|
- ../../.kilo/logs:/app/.kilo/logs
|
|
- ../../src:/app/src
|
|
command: bun test --reporter=json --coverage
|
|
|
|
# Evolution test runner for security workflow
|
|
evolution-security:
|
|
build:
|
|
context: ../..
|
|
dockerfile: docker/evolution-test/Dockerfile
|
|
container_name: evolution-security
|
|
environment:
|
|
- WORKFLOW_TYPE=security
|
|
- TOKEN_BUDGET=30000
|
|
- TIME_BUDGET=180
|
|
- MIN_COVERAGE=80
|
|
volumes:
|
|
- ../../.kilo/logs:/app/.kilo/logs
|
|
- ../../src:/app/src
|
|
command: bun test --reporter=json --coverage
|
|
|
|
# Fitness aggregator - collects results from all containers
|
|
fitness-aggregator:
|
|
image: oven/bun:1
|
|
container_name: fitness-aggregator
|
|
depends_on:
|
|
- evolution-feature
|
|
- evolution-bugfix
|
|
- evolution-refactor
|
|
- evolution-security
|
|
volumes:
|
|
- ../../.kilo/logs:/app/.kilo/logs
|
|
working_dir: /app
|
|
command: |
|
|
sh -c "
|
|
echo 'Aggregating fitness scores...'
|
|
cat .kilo/logs/fitness-history.jsonl | tail -4 > .kilo/logs/fitness-latest.jsonl
|
|
echo 'Fitness aggregation complete.'
|
|
" |