feat: add Docker Compose files for testing PyMAPDL#4274
Open
feat: add Docker Compose files for testing PyMAPDL#4274
Conversation
- Add comprehensive Docker testing infrastructure - Include multi-profile Docker Compose configuration - Add testing Dockerfile with multiple build targets - Support both local and remote MAPDL testing scenarios - Reorganize Docker MAPDL files structure
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR introduces a comprehensive Docker testing infrastructure for PyMAPDL, enabling testing against various MAPDL installation configurations through a flexible Docker Compose setup with multiple profiles.
Key changes:
- Added multi-profile Docker Compose configuration supporting local/remote and container/host MAPDL testing scenarios
- Created multi-stage Dockerfile with dedicated build targets for different testing configurations
- Reorganized Docker files into separate MAPDL and testing directories
Reviewed Changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| docker/testing/start.sh | Test execution script with branch checkout and pytest configuration |
| docker/testing/mylocal.ip | IP configuration file for MAPDL v261+ compatibility |
| docker/testing/docker-compose.yml | Multi-profile compose configuration for various MAPDL/PyMAPDL testing combinations |
| docker/testing/Dockerfile | Multi-stage build with python-main, test targets, and MAPDL local container support |
| docker/MAPDL/make_container.rst | Documentation for creating custom MAPDL Docker containers |
| docker/MAPDL/docker-compose.yml | Compose file for running MAPDL and optional DPF services |
| docker/MAPDL/Dockerfile | Multi-stage Dockerfile for building MAPDL containers from local installations |
| docker/MAPDL/.dockerignore | Comprehensive exclusion list for MAPDL 2025R1 Docker builds |
Comments suppressed due to low confidence (1)
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #4274 +/- ##
==========================================
- Coverage 89.92% 89.82% -0.11%
==========================================
Files 196 196
Lines 16209 16212 +3
==========================================
- Hits 14576 14562 -14
- Misses 1633 1650 +17 🚀 New features to boost your workflow:
|
10 tasks
…sting-infrastructure
…sting-infrastructure
for more information, see https://pre-commit.ci
…nd docker-compose configurations
…sting-infrastructure
…or local repository handling
…om/ansys/pymapdl into feat/docker-testing-infrastructure
…pose tests, optimize start script, and improve Python installation
…ith additional environment variables
…by streamlining environment variables and command
…ting temp directory handling
Add four specialized AI agents to help with PyMAPDL development: - Documentation Specialist: Reviews docs, validates docstrings, checks spelling/style using vale and codespell. Ensures numpydoc compliance and Google documentation style. - PyMAPDL Developer: Writes features and fixes bugs. Understands PyMAPDL architecture (local/remote, grpc/console). Runs pre-commit hooks and manages dependencies properly. - Test Engineer: Maintains ~90% test coverage. Minimizes MAPDL instance launches using Mock/patch strategies. Understands test modes and conditional test execution. - Code Reviewer: Comprehensive PR reviews ensuring code quality, documentation, and testing standards are met before merge. Files created: - AGENTS.md: Primary specification document (498 lines) - .github/AGENTS_GUIDE.md: Detailed usage guide with examples - .github/AGENTS_QUICKREF.md: One-page quick reference card - .github/AGENTS_SUMMARY.md: Implementation summary and overview Files modified: - README.md: Added AI-Assisted Development section linking to agents The agents work with any LLM-enabled IDE (GitHub Copilot, Cursor, JetBrains AI, etc.) and provide consistent, repository-specific guidance for development tasks. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… into feat/adding-agent.md
…ion Specialist, Tester, and Reviewer roles
…ning StopIteration issue The issue documented in issue.md pertains to tests on the refactor/launcher.py branch that were failing due to insufficient time.time() mock values. The fix has been implemented in commits 922080e and 5de55ca on that branch by patching time.time() at the module level instead of globally. This documentation explains the root cause, solution, and branch compatibility notes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Initial plan * docs: fix remaining issues in AGENTS.md from code review Co-authored-by: germa89 <28149841+germa89@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: germa89 <28149841+germa89@users.noreply.github.com>
…om/ansys/pymapdl into feat/docker-testing-infrastructure
…h handling and path adjustments; enhance start.sh with branch detection and pytest arguments
…ithub.com/ansys/pymapdl into feat/docker-testing-infrastructure
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Attempting to move towards a docker-compose compatible testing setting.
Changes
Issue linked
Instead of #4186
Checklist
draftif it is not ready to be reviewed yet.feat: adding new MAPDL command)