chore(devcontainer): add multi-arch development container support#1354
chore(devcontainer): add multi-arch development container support#1354JP-Ellis merged 6 commits intopact-foundation:mainfrom
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1354 +/- ##
====================================
Coverage 51% 51%
====================================
Files 31 31
Lines 3729 3729
====================================
Hits 1938 1938
Misses 1791 1791
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Pull Request Overview
This PR adds Development Container configuration to provide a consistent development environment across all platforms. The implementation includes a multi-architecture Containerfile, VS Code-specific configuration with Python tooling (Ruff, Pylance, pytest), and build optimization through .dockerignore.
Key changes:
- Multi-arch development container based on Python 3.13-slim with essential build tools
- VS Code integration with Python extensions and formatting/linting settings
- Automated environment setup via postCreateCommand for git submodules and hatch
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.devcontainer/Containerfile |
Defines the container image with Python 3.13, build tools, and hatch installation via pipx |
.devcontainer/devcontainer.json |
Configures VS Code extensions, Python settings, workspace mount, and post-creation commands |
.devcontainer/.dockerignore |
Excludes development artifacts and cache directories from the container build context |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
… essential tools and VS Code config
7f9faef to
722aeb5
Compare
… essential tools and VS Code config
722aeb5 to
1c110fb
Compare
JP-Ellis
left a comment
There was a problem hiding this comment.
Thanks for the PR! Sorry I didn't get time to review this earlier.
There's two really minor nits, up to you whether you want to fix them up, or I can fix them for you 👍
|
Thanks for the review. I will make the necessary changes. |
…/pact-python into fixing_issue_407
…/pact-python into fixing_issue_407
…r installation of uv and hatch
Pre-flight checklist
Summary
Adds Development Container configuration to provide a consistent development environment for contributors. Includes:
.devcontainer/Containerfilewith multi-architecture support (x86_64/amd64 and arm64).devcontainer/devcontainer.jsonwith VS Code extensions (Python, Pylance, Ruff) and settings.devcontainer/.dockerignoreto optimize build performanceBreaking Changes
None.
Motivation
Development containers lower the barrier to contributions by providing a pre-configured environment with all necessary dependencies. This addresses issue #407 by:
Test Plan
docker buildx build --platform linux/amd64,linux/arm64tests/test_error.py: 6/6 tests passedtests/test_util.py: 29/29 tests passedtests/test_pact.py: 21/21 tests passed (1 skipped)Related issues/PRs
Closes #407