Skip to content

Latest commit

 

History

History
70 lines (49 loc) · 2.97 KB

File metadata and controls

70 lines (49 loc) · 2.97 KB

GitHub Actions Workflows

FastForward DevTools provides a set of reusable GitHub Actions workflows that automate testing, documentation generation, and wiki synchronization. These workflows are synchronized into consumer repositories via the dev-tools:sync command.

Workflow Inheritance

Workflows in consumer repositories (located in .github/workflows/) are typically "thin wrappers" that inherit logic from the central dev-tools repository.

Example of an inherited workflow:

name: "Fast Forward Reports"
uses: php-fast-forward/dev-tools/.github/workflows/reports.yml@main
secrets: inherit

This approach ensures that all libraries in the ecosystem benefit from infrastructure updates without requiring manual changes to every repository.

For the protected-branch-safe preview and publish model, see :doc:`../advanced/branch-protection-and-bot-commits`.

Fast Forward Reports

The reports.yml workflow is responsible for generating technical documentation and quality reports.

Triggers: * Push to main. * Pull Request (opened, synchronized, reopened, closed). * Manual trigger (workflow_dispatch).

Behavior: * Main Branch: Runs all checks and deploys the final reports to the root of the gh-pages branch. * Pull Requests:

  • Generates a Preview of the documentation and coverage.
  • Deploys the preview to gh-pages under previews/pr-{number}/.
  • Posts a Sticky Comment on the PR with links to the live preview and coverage report.
  • Cleanup: When a PR is closed, the workflow automatically removes the preview directory from the gh-pages branch to keep the repository clean.

Fast Forward Wiki

The wiki.yml workflow synchronizes the documentation generated by the dev-tools wiki command with the GitHub Wiki repository.

Behavior: * Submodule Management: It manages a submodule at .github/wiki that points to the actual wiki repository. * Pull Requests: Pushes documentation changes to a dedicated branch (e.g., pr-123) in the wiki repository for review. * Merge: When a PR is merged into main, it pushes the changes to the master branch of the wiki, making them live.

Note

See :doc:`../configuration/repository-setup` for mandatory initial setup required for the Wiki workflow to function. See :doc:`../advanced/branch-protection-and-bot-commits` for branch protection, bot commit, and submodule pointer conflict guidance.

Fast Forward Tests

The tests.yml workflow provides standard Continuous Integration.

  • Runs PHPUnit tests across supported PHP versions (defaults to 8.3).
  • Validates code style using ECS.
  • Performs static analysis.

Maintenance Workflows

  • Auto Assign: Automatically assigns reviewers to PRs.
  • Label Sync: Synchronizes repository labels with ecosystem standards.