Skip to content

Add CI workflows, documentation, and PDF generation scripts#4

Merged
rafageist merged 2 commits into
masterfrom
develop
May 1, 2026
Merged

Add CI workflows, documentation, and PDF generation scripts#4
rafageist merged 2 commits into
masterfrom
develop

Conversation

@rafageist

Copy link
Copy Markdown
Member

This pull request introduces a comprehensive set of improvements to project infrastructure, documentation, and release automation for Div PHP Ways. The most significant changes include adding project-specific CI workflows, improving and restructuring documentation, and establishing a robust release process with automated PDF documentation and release note requirements.

Continuous Integration and Quality Assurance:

  • Added GitHub Actions workflows for running PHPUnit tests (.github/workflows/tests.yml), static analysis with PHPStan (.github/workflows/phpstan.yml), and automated release builds with PDF documentation and artifact uploads (.github/workflows/release.yml). [1] [2] [3]
  • Introduced a PHPStan configuration file (phpstan.neon) and a PHPUnit configuration file (phpunit.xml) tailored to the project. [1] [2]

Documentation Improvements:

  • Major rewrite and simplification of README.md to clarify the "ways" concept, provide concise usage examples, and document installation, rules, CLI usage, and license.
  • Added and reordered documentation files for book/PDF generation, including a new book order file (docs/book-order.txt) and improved navigation in the Markdown docs. [1] [2]
  • Added a stylized HTML back page for the generated documentation PDF (scripts/back.html).

Release Process Automation:

  • Established a release notes policy and template in releases/README.md, requiring a Markdown file per release and providing a script for generating drafts.
  • Added an initial release notes file for v2.5.0 (releases/v2.5.0.md).
  • Updated .gitattributes to exclude development and CI files from release archives.

Grouped summary of the most important changes:

1. CI/CD and Quality Automation

  • Added GitHub Actions workflows for PHPUnit testing, PHPStan static analysis, and automated release builds with PDF documentation and artifact uploads. (.github/workflows/tests.yml, .github/workflows/phpstan.yml, .github/workflows/release.yml) [1] [2] [3]
  • Added project-specific PHPStan and PHPUnit configuration files for static analysis and test execution. (phpstan.neon, phpunit.xml) [1] [2]

2. Documentation Overhaul

  • Rewrote and reorganized README.md for clarity, concise examples, and improved onboarding.
  • Improved documentation structure and navigation with a new book order file and updated Markdown references. (docs/book-order.txt, docs/Div PHP Ways.md) [1] [2]
  • Added a custom HTML back page for the generated documentation PDF. (scripts/back.html)

3. Release Management

  • Introduced a release notes policy and automation script, requiring Markdown release notes for each version and providing a template. (releases/README.md)
  • Added an example release notes file for v2.5.0. (releases/v2.5.0.md)
  • Updated .gitattributes to exclude development and CI files from release archives.
  • Create release workflow for automated versioning and artifact uploads
  • Add tests workflow for PHPUnit integration
  • Introduce book order file for documentation structure
  • Configure PHPStan for static analysis
  • Set up PHPUnit configuration file
  • Add release notes template and initial release note for v2.5.0
  • Implement HTML templates for cover and back pages of the documentation
  • Develop PDF building script with support for Mermaid diagrams
  • Generate release notes script to automate release documentation
  • Add Puppeteer configuration for HTML to PDF rendering
  • Implement unit tests for the Ways routing engine
  • Create bootstrap file for test environment setup

- Create release workflow for automated versioning and artifact uploads
- Add tests workflow for PHPUnit integration
- Introduce book order file for documentation structure
- Configure PHPStan for static analysis
- Set up PHPUnit configuration file
- Add release notes template and initial release note for v2.5.0
- Implement HTML templates for cover and back pages of the documentation
- Develop PDF building script with support for Mermaid diagrams
- Generate release notes script to automate release documentation
- Add Puppeteer configuration for HTML to PDF rendering
- Implement unit tests for the Ways routing engine
- Create bootstrap file for test environment setup
@rafageist rafageist merged commit 7833363 into master May 1, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant