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: MAINTAINERS.md
+18-21Lines changed: 18 additions & 21 deletions
Original file line number
Diff line number
Diff line change
@@ -8,6 +8,7 @@
8
8
-[Uphold Code of Conduct](#uphold-code-of-conduct)
9
9
-[Prioritize Security](#prioritize-security)
10
10
-[Review Pull Requests](#review-pull-requests)
11
+
-[Merging Pull Requests](#merging-pull-requests)
11
12
-[Triage New Issues](#triage-new-issues)
12
13
-[Triage Bug Reports](#triage-bug-reports)
13
14
-[Triage RFCs](#triage-rfcs)
@@ -68,7 +69,6 @@ These are the most common labels used by maintainers to triage issues, pull requ
68
69
| area/idempotency | Items related to the Idempotency Utility | PR automation |
69
70
| area/parameters | Items related to the Parameters Utility | PR automation |
70
71
| area/automation | Items related to automation like GitHub workflows or CI/CD | PR automation |
71
-
| breaking-change | Changes that will cause customer impact and need careful triage ||
72
72
| size/XS | PRs between 0-9 LOC | PR automation |
73
73
| size/S | PRs between 10-29 LOC | PR automation |
74
74
| size/M | PRs between 30-99 LOC | PR automation |
@@ -89,6 +89,7 @@ These are the most common labels used by maintainers to triage issues, pull requ
89
89
| type/internal | PRs that introduce changes in governance, tech debt and chores (linting setup, baseline, etc.) | PR automation |
90
90
| type/tests | PRs that add or change tests | PR automation |
91
91
| type/dependencies | Changes that touch dependencies, e.g. Dependabot, etc. | Issues/PR automation |
92
+
| type/breaking-change | Changes that will cause customer impact and need careful triage ||
92
93
| status/blocked | Items which progress is blocked by external dependency or reason ||
93
94
| status/confirmed | Items with clear scope and that are ready for implementation ||
94
95
| status/discussing | Items that need to be discussed, elaborated, or refined ||
@@ -133,12 +134,18 @@ For issues linked to a PR, our automation should apply the `pending-release` lab
133
134
134
135
See [Common scenarios](#common-scenarios) section for additional guidance.
135
136
137
+
### Merging Pull Requests
138
+
139
+
Before merging a PR make sure that the title reflects the changes being introduced.
140
+
141
+
This project uses the [squash and merge](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges#squash-and-merge-your-commits) strategy which means commits are squashed into a single commit. Instead of seeing all of a contributor's individual commits from a topic branch, the commits are combined into one commit and merged into the default branch.
142
+
143
+
This allows you to have control over the commit message although it should match the PR title most of the time. Use and enforce [semantic versioning](https://semver.org/), as these will be used for versioning the next release.
144
+
136
145
### Triage New Issues
137
146
138
147
Manage [labels](#labels), review issues regularly, and create new labels as needed by the project. Remove `triage` label when you're able to confirm the validity of a request, a bug can be reproduced, etc. Give priority to the original author for implementation, unless it is a sensitive task that is best handled by maintainers.
139
148
140
-
> TODO: This is an area we would like to automate using the new GitHub GraphQL API.
141
-
142
149
Make sure issues are assigned to our [board of activities](https://github.com/orgs/awslabs/projects/76/) and have the right [status](https://awslabs.github.io/aws-lambda-powertools-typescript/latest/roadmap/#roadmap-status-definition).
143
150
144
151
Use our [labels](#labels) to signal good first issues to new community members, and to set expectation that this might need additional feedback from the author, other customers, experienced community members and/or maintainers.
@@ -174,27 +181,19 @@ Make sure you ask these questions in mind when reviewing:
174
181
175
182
When necessary, be upfront that the time to review, approve, and implement a RFC can vary - see [Contribution is stuck](#contribution-is-stuck). Some RFCs may be further updated after implementation, as certain areas become clearer.
176
183
177
-
Some examples using our initial and new RFC templates: #92, #94, #95, #991, #1226
184
+
An example of a successful RFC: [#447](https://github.com/awslabs/aws-lambda-powertools-typescript/issues/447)
178
185
179
186
### Releasing a new version
180
187
181
-
Firstly, make sure the commit history in the `develop` branch **(1)** it's up to date, **(2)** commit messages are semantic, and **(3)** commit messages have their respective area, for example `feat(logger): <change>`, `chore(ci): ...`).
182
-
183
-
**Found typos or unclear commit messages?**
184
-
185
-
Reword through rebase and push with `--force-with-lease` once you're confident. This will ensure [CHANGELOG](./CHANGELOG.md) is always clear for customers looking to understand what changed in between releases - was that a bug? what new features and for which utility?
186
-
187
-
**Looks good, what's next?**
188
-
189
-
The only step is to draft and publish a good release notes, everything else is automated.
188
+
🚧 WIP 🚧
190
189
191
190
#### Drafting release notes
192
191
193
192
Visit the [Releases page](https://github.com/awslabs/aws-lambda-powertools-typescript/releases) and choose the edit pencil button.
194
193
195
194
Make sure the `tag` field reflects the new version you're releasing, the target branch field is set to `main`, and `release title` matches your tag e.g., `v1.4.1`.
196
195
197
-
You'll notice we group all changes based on their [labels](#labels) like `feature`, `bug`, `documentation`, etc.
196
+
You'll notice we group all changes based on their [labels](#labels) like `type/feature`, `type/bug`, `type/documentation`, etc.
198
197
199
198
**I spotted a typo or incorrect grouping - how do I fix it?**
200
199
@@ -216,13 +215,11 @@ Once you're happy, hit `Publish release` 🎉🎉🎉.
216
215
217
216
This will kick off the [Publish docs on release](https://github.com/awslabs/aws-lambda-powertools-typescript/blob/main/.github/workflows/publish-docs-on-release.yml) workflow and within a few minutes you should see the latest version in PyPi, and all issues labeled as `pending-release` will be closed and notified.
218
217
219
-
> TODO: Include information to verify SAR and Lambda Layers deployment; we're still finalizing Lambda Layer automated deployment in GitHub Actions - ping @am29d when in doubt.
220
-
221
218
### Run end to end tests
222
219
223
-
E2E tests are run on every push to `develop` or manually via [run-e2e-tests workflow](https://github.com/awslabs/aws-lambda-powertools-typescript/actions/workflows/run-e2e-tests.yml).
220
+
E2E tests should be ran before every merge to `main` or manually via [run-e2e-tests workflow](https://github.com/awslabs/aws-lambda-powertools-typescript/actions/workflows/run-e2e-tests.yml) before making a release.
224
221
225
-
To run locally, you need [AWS CDK CLI](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_prerequisites) and an [account bootstrapped](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html) (`cdk bootstrap`). With a default AWS CLI profile configured, or `AWS_PROFILE` environment variable set, run `make e2e tests`.
222
+
To run locally, you need [AWS CDK CLI](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_prerequisites) and an [account bootstrapped](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html) (`cdk bootstrap`). With a default AWS CLI profile configured, or `AWS_PROFILE` environment variable set, run `npm run test:e2e -ws`.
226
223
227
224
### Releasing a documentation hotfix
228
225
@@ -232,7 +229,7 @@ This workflow will update both user guide and API documentation.
232
229
233
230
### Maintain Overall Health of the Repo
234
231
235
-
Keep the `develop` branch at production quality at all times. Backport features as needed. Cut release branches and tags to enable future patches.
232
+
Keep the `main` branch at production quality at all times. If a PR introduces code changes you should make sure that linting and tests are passing before merging.
236
233
237
234
### Manage Roadmap
238
235
@@ -250,7 +247,7 @@ Actions that negatively impact the project will be handled by the admins, in coo
250
247
251
248
### Becoming a maintainer
252
249
253
-
In mid 2023, we will revisit this. We need to improve our understanding of how other projects are doing, their mechanisms to promote key contributors, and how they interact daily.
250
+
In late 2023, we will revisit this. We need to improve our understanding of how other projects are doing, their mechanisms to promote key contributors, and how they interact daily.
254
251
255
252
We suspect this process might look similar to the [OpenSearch project](https://github.com/opensearch-project/.github/blob/main/MAINTAINERS.md#becoming-a-maintainer).
256
253
@@ -268,7 +265,7 @@ In other cases, you may have constrained capacity. Use `help=wanted` label when
268
265
269
266
### Insufficient feedback or information
270
267
271
-
When in doubt, use `need-more-information` or `need-customer-feedback` labels to signal more context and feedback are necessary before proceeding. You can also use `on-hold` label when you expect it might take a while to gather enough information before you can decide.
268
+
When in doubt, use `need-more-information` or `need-customer-feedback` labels to signal more context and feedback are necessary before proceeding. You can also use `status/on-hold` label when you expect it might take a while to gather enough information before you can decide.
0 commit comments