|
1 | 1 | # GitHub Release Workflow |
2 | 2 |
|
3 | 3 | Streamline your software delivery with a production-ready engineering workflow. Automated semantic versioning, changelog generation (via git-cliff), and GitHub release publishing. |
| 4 | + |
| 5 | +> [!IMPORTANT] |
| 6 | +> To ensure changelogs are generated correctly, all git commit messages must follow the **[Conventional Commits](https://www.conventionalcommits.org/)** specification. |
| 7 | +> |
| 8 | +> Also, you must go to your repository **Settings > Actions > General > Workflow permissions** and enable **"Allow GitHub Actions to create and approve pull requests"**, otherwise the automated release process will fail. |
| 9 | +
|
| 10 | +## 🚀 Instant Magic for Your Repository!!! |
| 11 | + |
| 12 | +Add professional release automation to your personal project with a single step: |
| 13 | + |
| 14 | +**Simply copy the `.github/workflows` directory from this repository into your project's root.** |
| 15 | + |
| 16 | +✨ That's it! Your repository is now enchanted. |
| 17 | + |
| 18 | +## ⚙ How It Works |
| 19 | + |
| 20 | +This workflow streamlines your release process into a few simple steps: |
| 21 | + |
| 22 | +1. **Tag Your Release**: On your development branch (separate from `master` or `main`), create a git tag with a `v` prefix (e.g., `v1.0.0`). |
| 23 | + ```bash |
| 24 | + git tag v1.0.0 |
| 25 | + ``` |
| 26 | + |
| 27 | +2. **Push the Tag**: Push the tag to GitHub. |
| 28 | + ```bash |
| 29 | + git push origin v1.0.0 |
| 30 | + ``` |
| 31 | + |
| 32 | +3. **Automated Magic**: GitHub Actions will automatically: |
| 33 | + * Generate a changelog based on your conventional commits. |
| 34 | + * Create a specific release branch. |
| 35 | + * Open a Pull Request to your default branch (e.g., `master`). |
| 36 | + |
| 37 | +4. **Review and Merge**: Review the Pull Request created by the bot. |
| 38 | + * **Do not modify the Pull Request title or body**, as they are used for the release metadata. |
| 39 | + * Merge the Pull Request. |
| 40 | + * The workflow will automatically create a GitHub Release for you. |
0 commit comments