Repository navigation
Add development Dockerfile with all dependencies and CI workflow for mollerdb - #28
Conversation
Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
|
@copilot Add a GitHub Actions workflow that builds this container, and use it to verify that the build in this container completes correctly. On pushes to main, and on releases, publish this container to the GitHub Container Registry. |
Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
There was a problem hiding this comment.
Pull Request Overview
This PR adds comprehensive Docker development environment support to the mollerdb project, making it easier for developers to get started without manually installing dependencies. The changes introduce a new Dockerfile with all required dependencies and update documentation to guide users through Docker-based and native development workflows.
- Adds a production-ready Dockerfile with Ubuntu 24.04, GCC 14, and all required dependencies
- Updates README.md with Docker development instructions alongside native installation
- Updates docs/README.md with detailed Docker usage and troubleshooting guidance
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| Dockerfile | New Docker development environment with Ubuntu 24.04, GCC 14, Python 3.12, and all build dependencies |
| README.md | Added Docker development section with build and usage instructions |
| docs/README.md | Added comprehensive Docker quick start guide as the recommended approach, with troubleshooting notes |
Co-authored-by: wdconinc <4656391+wdconinc@users.noreply.github.com>
Added in commit e162a1e. The workflow:
Documentation updated to reference the pre-built images from GitHub Container Registry. |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Added error handling for Arrow APT source download.
Adds a complete Docker development environment with all C++ and Python build dependencies, matching the CI configuration, along with automated building and publishing via GitHub Actions.
Implementation
Dockerfile (Ubuntu 24.04):
GitHub Actions Workflow (
.github/workflows/docker.yml):pip install -e .in containerghcr.io/jeffersonlab/mollerdb) on pushes to mainv1.0.0→1.0.0,1.0,1,latest)Documentation:
Usage
Using pre-built image:
docker pull ghcr.io/jeffersonlab/mollerdb:latest docker run -it --rm -v $(pwd):/workspace ghcr.io/jeffersonlab/mollerdb:latestBuilding locally:
Notes
--break-system-packagesflag (safe in containers)Delivers Phase 0 infrastructure from #19.
Original prompt
<issue_description>Deliverable: A complete Dockerfile that builds a development environment for mollerdb, including all dependencies required for both C++ and Python development. This includes libraries such as libpq, Apache Arrow, pybind11, scikit-build-core, and all tools needed to build and test both native and Python wheels. The Dockerfile should:
Definition of Done:
docker buildContext:
</issue_description>
Comments on the Issue (you are @copilot in this section)
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.