ralph-claude-code/.github/workflows/docker.yml
Claude c01133bd8d
feat(docker): add Docker-based Windows and cross-platform support
Enables Ralph to run inside a Docker container for Windows users
(via Docker Desktop) and anyone preferring containerized execution.

New files:
- Dockerfile (Debian slim + Node.js 20 + all Ralph dependencies)
- docker-compose.yml for easy startup
- docker/docker-entrypoint.sh with UID/GID remapping
- docker/ralph-docker (bash wrapper) and ralph-docker.ps1 (PowerShell)
- .gitattributes to prevent Windows CRLF line ending corruption
- .dockerignore for clean build context
- .github/workflows/docker.yml CI workflow
- docs/user-guide/04-docker-setup.md comprehensive documentation

Updated: README.md, CLAUDE.md, docs/user-guide/README.md, .gitignore

https://claude.ai/code/session_01SNzxUdH1Udf26rN3RKNNzu
2026-02-10 20:54:23 +00:00

51 lines
1.2 KiB
YAML

name: Docker Build
on:
push:
branches: [ main, develop ]
paths:
- 'Dockerfile'
- 'docker/**'
- '.dockerignore'
- 'install.sh'
- 'lib/**'
- 'ralph_loop.sh'
pull_request:
branches: [ main ]
paths:
- 'Dockerfile'
- 'docker/**'
- '.dockerignore'
- 'install.sh'
- 'lib/**'
- 'ralph_loop.sh'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build Docker image
run: docker build -t ralph-claude-code:test .
- name: Verify Ralph is installed
run: docker run --rm ralph-claude-code:test ralph --help
- name: Verify dependencies
run: |
docker run --rm ralph-claude-code:test bash -c '
echo "=== Checking dependencies ==="
bash --version | head -1
node --version
npm --version
jq --version
git --version
tmux -V
timeout --version | head -1
echo "=== All dependencies OK ==="
'
- name: Run tests inside Docker
run: docker run --rm ralph-claude-code:test bash -c 'cd /opt/ralph-claude-code && npm test'