Skip to content

This PR resolves multiple Docker build failures with latest changes to coleam00/Archon upstream repo, and fixes small issue with local testing configuration#3

Merged
stevepresley merged 13 commits intomainfrom
localbuild
Sep 1, 2025
Merged

This PR resolves multiple Docker build failures with latest changes to coleam00/Archon upstream repo, and fixes small issue with local testing configuration#3
stevepresley merged 13 commits intomainfrom
localbuild

Conversation

@stevepresley
Copy link
Copy Markdown
Owner

🐛 Build Fixes

  • Fixed Python version mismatch: Updated all Dockerfiles from Python 3.11 to 3.12 to match upstream
    requirements
  • Fixed dependency management: Changed from missing requirements.*.txt files to pyproject.toml +
    uv.lock
  • Fixed MCP directory path: Updated MCP Dockerfile to use src/mcp_server/ instead of src/mcp/ to
    match upstream structure
  • Fixed Playwright installation: Changed from playwright install to python -m playwright install to
    resolve command not found errors

🧪 Testing Improvements

  • Fixed test script paths: Updated test-containers.sh to use correct Docker Compose file paths
  • Fixed Docker Compose paths: Updated docker-compose.test.yml to use correct absolute paths for
    Dockerfiles
  • Removed obsolete version: Cleaned up Docker Compose version warnings

✅ Validation

  • Local testing: All containers build and run successfully in local test environment
  • GitHub Actions: Confirmed successful builds against upstream coleam00/Archon repository
  • All four components: Server, MCP, Agents, and Frontend all building successfully

Test Plan

  • Local container builds with ./tests/test-containers.sh
  • GitHub Actions builds pass for all components
  • All Dockerfile syntax and paths validated
  • Upstream repository compatibility confirmed

Files Changed

  • dockerfiles/server/Dockerfile - Python 3.12, pyproject.toml, Playwright fixes
  • dockerfiles/mcp/Dockerfile - Directory path and dependency fixes
  • dockerfiles/agents/Dockerfile - Python 3.12 and dependency fixes
  • tests/test-containers.sh - Path resolution fixes
  • tests/docker-compose.test.yml - Dockerfile path corrections
  • .github/workflows/build-images.yml - Workflow cleanup

manageeverything and others added 13 commits August 31, 2025 08:14
The upstream Archon repository uses pyproject.toml for dependency
management, not separate requirements.*.txt files. Updated all
Dockerfiles to:

- Copy pyproject.toml and uv.lock instead of requirements files
- Use `pip install -e .` for editable installation
- This resolves build failures looking for non-existent requirements files

Fixes:
- requirements.server.txt not found
- requirements.agents.txt not found
- requirements.mcp.txt not found

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
The upstream Archon pyproject.toml requires Python >=3.12, but
our Dockerfiles were using Python 3.11, causing pip install
failures. Updated all Dockerfiles to use Python 3.12:

- server: python:3.12 (build) and python:3.12-slim (runtime)
- mcp: python:3.12-slim
- agents: python:3.12-slim

This resolves the "pip install -e ." build failures.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Updated PYTHONPATH to use python3.12 instead of python3.11
- Added explicit PYTHONPATH to playwright install command to ensure
  it can find the installed packages
- This resolves the Playwright chromium installation failure

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Changed from 'playwright install chromium' to 'python -m playwright install chromium'
to ensure it uses the Python module directly rather than trying to find
the playwright executable, which may not be in PATH.

This should resolve the exit code 127 (command not found) error.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Playwright chromium installation is failing during build with exit code 1.
Skip browser installation during build phase - browsers can be installed
at runtime if needed by the application.

This allows the Docker build to complete successfully while preserving
the Playwright functionality for runtime use.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Instead of removing Playwright browsers, install the required system
dependencies first using 'playwright install-deps chromium' before
installing the browser itself.

This should resolve the installation failure while preserving the
required Playwright functionality for web crawling.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Changed to use 'playwright install chromium' directly (without python -m)
to match the upstream Dockerfile approach. Removed install-deps step
that may have been causing issues.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Exit code 127 indicates 'playwright' command not found. Install
playwright in runtime stage before attempting to install browsers.
This ensures the playwright command is available in the runtime
environment.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
The test script was looking for docker-compose.test.yml in the wrong
location when run from project root. Updated all references to use
the correct path relative to the script directory.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Reverted to using the upstream Archon repository now that all
build issues have been resolved:
- Python 3.12 compatibility
- pyproject.toml dependency management
- Playwright installation fixes
- MCP directory path corrections

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
Removed commented lines from build workflow files now that
upstream repository build is confirmed working.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)
@stevepresley stevepresley merged commit e8c2920 into main Sep 1, 2025
stevepresley pushed a commit that referenced this pull request Sep 11, 2025
…ailure

Fix MCP Dockerfile directory path
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants