You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Add reports previews for pull requests
* Update wiki submodule pointer for PR #55
* Update the URL for the pull request report preview environment.
Signed-off-by: Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
* Update the URL for the pull request report preview environment.
Signed-off-by: Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
* Adds ways to trigger tests in pull requests.
Signed-off-by: Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
* Fix the URL for the pull request report preview environment.
Signed-off-by: Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
* Updates the workflow to include closing pull requests and improves the deployment of preview reports.
Signed-off-by: Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
* Remove pull request reports preview deployment and update main reports deployment conditions
Signed-off-by: Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
* Adds support for additional arguments in documentation and test generation commands.
Signed-off-by: Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
* Remove keeping files and exclude assets during report deployments
Signed-off-by: Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
* Fix tests
Signed-off-by: Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
* Adds steps to restore and copy previews during report generation.
Signed-off-by: Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
* Add a comment with preview URLs to pull requests.
Signed-off-by: Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
* Update directory paths for permissions and restore previews in reports.
Signed-off-by: Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
* Updates report generation command to include destination and coverage options.
Signed-off-by: Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
* Updates publication directories to use ./tmp/reports/ instead of ./public
Signed-off-by: Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
* Updates pull request event types to include 'closed' and removes unnecessary permissions.
Signed-off-by: Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
* docs: add documentation for GitHub Actions workflows and repository setup procedures
---------
Signed-off-by: Felipe Sayão Lobato Abreu <github@mentordosnerds.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
To fully utilize the automation and documentation features provided by FastForward DevTools, consumer repositories require specific configurations in GitHub.
5
+
6
+
GitHub Pages
7
+
------------
8
+
9
+
FastForward DevTools automatically generates and deploys reports, test coverage, and API documentation to GitHub Pages.
10
+
11
+
1. Navigate to your repository on GitHub.
12
+
2. Go to **Settings** > **Pages**.
13
+
3. Under **Build and deployment** > **Branch**:
14
+
* Select the ``gh-pages`` branch.
15
+
* Select ``/ (root)`` as the folder.
16
+
* Click **Save**.
17
+
18
+
.. note::
19
+
The ``gh-pages`` branch is automatically created and updated by the ``reports.yml`` workflow. If the branch does not exist yet, run the workflow manually once or wait for the first push to ``main``.
20
+
21
+
GitHub Wiki
22
+
-----------
23
+
24
+
The wiki synchronization feature allows you to maintain documentation in Markdown within your repository and have it automatically published to the GitHub Wiki.
25
+
26
+
.. important::
27
+
**Initial Manual Step Required**
28
+
GitHub does not create the underlying wiki repository until at least one page is created via the web interface. You **MUST** create an initial ``Home.md`` page manually before using ``dev-tools wiki --init`` or any automated sync features.
29
+
30
+
1. Navigate to your repository on GitHub.
31
+
2. Click the **Wiki** tab.
32
+
3. Click **Create the first page** (or **New Page**).
33
+
4. Ensure the title is ``Home`` and add some initial content.
34
+
5. Click **Save Page**.
35
+
36
+
Once this is done, the wiki can be cloned as a submodule and synchronized by the DevTools commands.
37
+
38
+
Workflow Permissions
39
+
--------------------
40
+
41
+
GitHub Actions must have permission to push changes to your repository (for Wiki updates and GitHub Pages deployments).
42
+
43
+
1. Go to **Settings** > **Actions** > **General**.
44
+
2. Scroll down to **Workflow permissions**.
45
+
3. Select **Read and write permissions**.
46
+
4. Click **Save**.
47
+
48
+
.. warning::
49
+
Without these permissions, the ``wiki.yml`` and ``reports.yml`` workflows will fail when attempting to deploy content.
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.
5
+
6
+
Workflow Inheritance
7
+
--------------------
8
+
9
+
Workflows in consumer repositories (located in ``.github/workflows/``) are typically "thin wrappers" that inherit logic from the central ``dev-tools`` repository.
* **Main Branch**: Runs all checks and deploys the final reports to the root of the ``gh-pages`` branch.
33
+
* **Pull Requests**:
34
+
* Generates a **Preview** of the documentation and coverage.
35
+
* Deploys the preview to ``gh-pages`` under ``previews/pr-{number}/``.
36
+
* Posts a **Sticky Comment** on the PR with links to the live preview and coverage report.
37
+
* **Cleanup**: When a PR is closed, the workflow automatically removes the preview directory from the ``gh-pages`` branch to keep the repository clean.
38
+
39
+
Fast Forward Wiki
40
+
-----------------
41
+
42
+
The ``wiki.yml`` workflow synchronizes the documentation generated by the ``dev-tools wiki`` command with the GitHub Wiki repository.
43
+
44
+
**Behavior:**
45
+
* **Submodule Management**: It manages a submodule at ``.github/wiki`` that points to the actual wiki repository.
46
+
* **Pull Requests**: Pushes documentation changes to a dedicated branch (e.g., ``pr-123``) in the wiki repository for review.
47
+
* **Merge**: When a PR is merged into ``main``, it pushes the changes to the ``master`` branch of the wiki, making them live.
48
+
49
+
.. note::
50
+
See :doc:`../configuration/repository-setup` for mandatory initial setup required for the Wiki workflow to function.
51
+
52
+
Fast Forward Tests
53
+
------------------
54
+
55
+
The ``tests.yml`` workflow provides standard Continuous Integration.
56
+
57
+
* Runs PHPUnit tests across supported PHP versions (defaults to 8.3).
58
+
* Validates code style using ECS.
59
+
* Performs static analysis.
60
+
61
+
Maintenance Workflows
62
+
---------------------
63
+
64
+
* **Auto Assign**: Automatically assigns reviewers to PRs.
65
+
* **Label Sync**: Synchronizes repository labels with ecosystem standards.
0 commit comments