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
Copy file name to clipboardExpand all lines: README.md
+54Lines changed: 54 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -178,10 +178,64 @@ If you want to share your translation with others:
178
178
For more details, see the [Chrome i18n documentation](https://developer.chrome.com/docs/extensions/reference/i18n/).
179
179
180
180
181
+
## Release Process
182
+
183
+
This project uses a fully automated release process powered by GitHub Actions. Understanding this process is helpful for both maintainers and contributors.
184
+
185
+
The process is split into two parts:
186
+
187
+
### 1. Automated Release Drafting
188
+
189
+
This part runs every time a pull request is merged into the `master` branch.
190
+
191
+
1.**PR Merge**: A contributor's pull request is reviewed and merged.
192
+
2.**Drafting Workflow**: The "Release Drafter" workflow is triggered.
193
+
3.**Versioning**: The workflow inspects the `release:*` label or PR title to determine the next semantic version.
194
+
4.**Changelog Update**: The `CHANGELOG.md` file is automatically updated with the titles of the merged PRs.
195
+
5.**Draft Creation**: A new draft release is created or updated in the [Releases](https://github.com/fossasia/scrum-helper/releases) section. This draft includes the new version tag and the updated changelog notes.
196
+
197
+
### 2. Manual Release Publishing
198
+
199
+
This part is performed manually by maintainers when it's time to publish a new version.
200
+
201
+
1.**Verification**: A maintainer reviews the draft release to ensure it's accurate and complete.
202
+
2.**Publishing**: The maintainer publishes the release from the GitHub UI.
203
+
3.**Chrome Web Store Deployment**: Publishing the release triggers the "Publish to Chrome Web Store" workflow, which automatically packages the extension and uploads it for review.
204
+
181
205
## About contributing
182
206
183
207
- Follow the Issues and PRs templates as far as possible.
184
208
- If you want to make a PR, please mention in the corresponding issue that you are working on it.
209
+
210
+
### Writing Meaningful Pull Requests
211
+
212
+
The release notes are automatically generated from the pull requests merged into `master`. To ensure the release notes are clear and helpful, please:
213
+
214
+
1.**Write a descriptive title.** The PR title is the primary entry in the release notes. It should concisely summarize the change.
215
+
2.**Provide a clear description.** The body of your PR should explain the "what" and "why" of your changes. This context is invaluable for reviewers and for anyone looking back at the project's history.
216
+
217
+
### Pull Request Labeling & Semantic Versioning
218
+
This project uses an automated release process that relies on pull request labels and titles to determine the semantic version for a new release. For your contribution to be included in the release notes, please use one of the methods below.
219
+
220
+
**Method 1: Using Labels (Preferred)**
221
+
222
+
The clearest way to signal the impact of your change is to apply **one** of the following labels to your pull request. This is the recommended approach.
223
+
224
+
-`release:major`: For breaking changes that are not backward-compatible.
225
+
-`release:minor`: For new features or significant enhancements.
226
+
-`release:patch`: For backward-compatible bug fixes, documentation updates, or maintenance.
227
+
-`release:none`: To exclude the change from the release notes entirely.
228
+
229
+
**Method 2: Using PR Titles**
230
+
231
+
As a fallback, if no `release:*` label is applied, the system will inspect your pull request title for the following keywords (case-insensitive) to determine the version bump:
232
+
233
+
-`major`: For breaking changes.
234
+
-`minor`: For new features.
235
+
-`patch`, `fix`, `chore`, `documentation` : For bug fixes and other small changes.
236
+
237
+
If you are unsure which label to use, please write a clear and descriptive title, and a maintainer will apply the correct label before merging.
238
+
185
239
- Before making a PR, ensure your code is properly formatted and linted:
186
240
- Format your code: This command automatically formats your code based on the project's style guidelines.
0 commit comments