ansys/pydpf-core

Modernize the PyDPF repositories to PyAnsys standards

Opened this issue · 0 comments

Discussed in #1697

Originally posted by jorgepiloto August 14, 2024
The current pipelines of the project are unmaintainable. This creates a bottleneck for merging pull-requests and solving issues. The branch strategy is not compliant with PyAnsys guidelines and the docs layout can be improved.

Breaking changes are required (and worth) for modernizing this project:

  1. Generate Dockerfiles, build images, and upload these to the private GitHub Container Registry. These are only accessible by Ansys employees and authorized CI/CD runs.

  2. Use Docker images in CI/CD. Limit the number workflows to: ci_cd_pr.yml, ci_cd_main.yml, ci_cd_night.yml, and ci_cd_release.yml. These provide the same capabilities as the current ones while being optimized. Use labels for skipping jobs.

  3. Take advantage of matrix strategy to simplify backwards compatible testing.

  4. Rename master to main. Use release/X.Y branches rather than release/X.Y.Z

  5. Use the latest documentation theme. Use a question-card strategy for navigation. Enable sphinx-autoapi for improving the API reference. Use Sphinx hooks for custom doc-build behavior.

  6. Clean project's root directory. Unnecessary files: Makefile, testing.md, run_client.bat, ignore_words.txt, .flake8, pytest.ini.

Implementing these tasks is not easy. We all need to agree and commit to these points. It requires weeks of work and coordination between teams.

The final result is a project with optimized pipelines, maintainable workflows, and amazing docs that allows developers to focus on actual project development.