|
| 1 | +# Releasing Fastfony |
| 2 | + |
| 3 | +Fastfony follows the Symfony release cycle closely, ensuring compatibility and up-to-date features with each new Symfony version. This approach guarantees that Fastfony remains a reliable starter-kit for modern PHP 8 development. |
| 4 | + |
| 5 | +## Release Rhythm |
| 6 | + |
| 7 | +A new Fastfony version is released alongside each new Symfony release, with a short delay to allow for integration and testing. This ensures that the starter-kit always supports the latest stable Symfony version. |
| 8 | + |
| 9 | +## Release Process |
| 10 | + |
| 11 | +The process for creating a Fastfony release involves several steps to maintain quality and ensure proper distribution across all channels: |
| 12 | + |
| 13 | +1. **Merge Merge Requests (MRs) into the Active Version Branch** |
| 14 | + |
| 15 | + - All relevant merge requests (MRs) are reviewed and merged into the current active branch (for example, `0.3`). |
| 16 | + |
| 17 | +2. **Change version number and tag the Release** |
| 18 | + |
| 19 | + - A commit is added for edit the version number in `src/Kernel.php` and `packages/api_platform.yaml`. |
| 20 | + - Once the branch is ready, a new Git tag is created on the active version branch. |
| 21 | + - The tag uses the prefix `v` followed by the version number (e.g., `v0.3.3`). |
| 22 | + |
| 23 | +3. **Create the Release on GitHub** |
| 24 | + |
| 25 | + - After tagging, a new release is published on [GitHub Releases](https://github.com/fastfony/fastfony/releases). |
| 26 | + - The release includes notes, changelogs, and links to commits. |
| 27 | + |
| 28 | +4. **Merge into Future Version Branches** |
| 29 | + |
| 30 | + - The changes from the active version branch (e.g., `0.3`) are merged into future version branches (e.g., `0.4`). |
| 31 | + - This ensures that upcoming versions benefit from all updates and fixes. |
| 32 | + |
| 33 | +5. **Merge into `develop` and `main` Branches** |
| 34 | + |
| 35 | + - **`develop`**: |
| 36 | + - Merging into the `develop` branch allows for publishing on Packagist and enables the `composer create-project` feature for developers. |
| 37 | + - **`main`**: |
| 38 | + - Merging into the `main` branch triggers the Continuous Integration (CI) pipeline, which generates quality indicators and performs automated checks. |
| 39 | + |
| 40 | +## Summary |
| 41 | + |
| 42 | +- **Release cadence:** Follows Symfony releases. |
| 43 | +- **Merge workflow:** MRs → active branch → change version number → tag → GitHub release → future branches → `develop` → `main`. |
| 44 | +- **Distribution:** Updates available via GitHub, Packagist, and `composer create-project`. |
| 45 | +- **Quality assurance:** CI runs on the `main` branch after every release. |
| 46 | + |
| 47 | +This process ensures Fastfony remains robust, up-to-date, and ready for production use after every release. |
0 commit comments