Skip to content

feat: add Docker Compose files for testing PyMAPDL#4274

Open
germa89 wants to merge 64 commits intomainfrom
feat/docker-testing-infrastructure
Open

feat: add Docker Compose files for testing PyMAPDL#4274
germa89 wants to merge 64 commits intomainfrom
feat/docker-testing-infrastructure

Conversation

@germa89
Copy link
Collaborator

@germa89 germa89 commented Oct 22, 2025

Description

Attempting to move towards a docker-compose compatible testing setting.

Changes

  • 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

Issue linked

Instead of #4186

Checklist

- 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
@germa89 germa89 self-assigned this Oct 22, 2025
Copilot AI review requested due to automatic review settings October 22, 2025 11:37
@germa89 germa89 requested a review from a team as a code owner October 22, 2025 11:37
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@github-actions github-actions bot added CI/CD Related with CICD, Github Actions, etc new feature Request or proposal for a new feature labels Oct 22, 2025
pyansys-ci-bot and others added 2 commits October 22, 2025 11:40
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@codecov
Copy link

codecov bot commented Oct 22, 2025

Codecov Report

❌ Patch coverage is 50.00000% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.82%. Comparing base (c086825) to head (aef4fdc).
⚠️ Report is 2 commits behind head on main.

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:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

germa89 and others added 16 commits January 5, 2026 13:06
…pose tests, optimize start script, and improve Python installation
@github-actions github-actions bot added the maintenance General maintenance of the repo (libraries, cicd, etc) label Mar 2, 2026
germa89 and others added 30 commits March 2, 2026 14:51
…by streamlining environment variables and command
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>
…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>
…h handling and path adjustments; enhance start.sh with branch detection and pytest arguments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/CD Related with CICD, Github Actions, etc maintenance General maintenance of the repo (libraries, cicd, etc) new feature Request or proposal for a new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants