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
-[Releasing a documentation hotfix](#releasing-a-documentation-hotfix)
@@ -170,23 +168,15 @@ Some examples using our initial and new RFC templates: #92, #94, #95, #991, #122
170
168
171
169
### Releasing a new version
172
170
173
-
> TODO: This is an area we want to increase automation while keeping communication at human level.
171
+
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): ...`).
174
172
175
-
Firstly, make sure you are using the `develop` branch and it is up to date with the origin.
173
+
**Found typos or unclear commit messages?**
176
174
177
-
There are three main steps to release a new version: Changelog generation, version bumping, and drafting release notes.
175
+
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?
178
176
179
-
#### Changelog generation
177
+
**Looks good, what's next?**
180
178
181
-
You can pre-generate a temporary CHANGELOG using `make changelog`. This will generate a `TMP_CHANGELOG.md` with all staged changes under the `unreleased` section.
182
-
183
-
Each unreleased line item is a commit. You can adjust them if you find the commit titles are insufficient to describe their intent. Once you're comfortable, bring these changes to the `CHANGELOG.md` with a new version heading like in previous versions.
184
-
185
-
#### Bumping the version
186
-
187
-
Use `poetry version <major|minor|patch|specific version>` to bump the version. For example, you can use `poetry version minor` when releasing a minor version.
188
-
189
-
NOTE. Make sure both `CHANGELOG` and `pyproject.toml` are committed and pushed to the remote `develop` branch before proceeding.
179
+
The only step is to draft and publish a good release notes, everything else is automated.
190
180
191
181
#### Drafting release notes
192
182
@@ -196,28 +186,36 @@ Make sure the `tag` field reflects the new version you're releasing, the target
196
186
197
187
You'll notice we group all changes based on their [labels](#labels) like `feature`, `bug`, `documentation`, etc.
198
188
199
-
> **Q: What if there's an incorrect title or grouping?**
189
+
**I spotted a typo or incorrect grouping - how do I fix it?**
200
190
201
191
Edit the respective PR title and update their [labels](#labels). Then run the [Release Drafter workflow](https://github.com/awslabs/aws-lambda-powertools-python/actions/workflows/release-drafter.yml) to update the Draft release.
202
192
203
-
The best part comes now. Replace the placeholder `[Human readable summary of changes]` with what you'd like to communicate to customers what this release is all about. Always put yourself in the customers shoes. For that, these are some questions to keep in mind when drafting your first or future release notes:
193
+
**All looking good, what's next?**
194
+
195
+
The best part comes now. Replace the placeholder `[Human readable summary of changes]` with what you'd like to communicate to customers what this release is all about. Rule of thumb: always put yourself in the customers shoes.
196
+
197
+
These are some questions to keep in mind when drafting your first or future release notes:
204
198
205
199
- Can customers understand at a high level what changed in this release?
206
200
- Is there a link to the documentation where they can read more about each main change?
207
-
- Are there any graphics or code snippets that can enhance readability?
201
+
- Are there any graphics or [code snippets](carbon.now.sh/) that can enhance readability?
208
202
- Are we calling out any key contributor(s) to this release?
209
203
- All contributors are automatically credited, use this as an exceptional case to feature them
210
204
211
-
Once you're happy, hit `Publish release`. This will kick off the [Publishing workflow](https://github.com/awslabs/aws-lambda-powertools-python/actions/workflows/publish.yml) and within a few minutes you should see the latest version in PyPi, and all issues labeled as `pending-release` will be notified.
205
+
Once you're happy, hit `Publish release` 🎉🎉🎉.
206
+
207
+
This will kick off the [Publishing workflow](https://github.com/awslabs/aws-lambda-powertools-python/actions/workflows/publish.yml) 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.
208
+
209
+
> 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.
212
210
213
-
> TODO: Wait for @am29d new Lambda Layers pipeline work to complete, then add how Lambda Layers are published
214
211
### Run end to end tests
215
212
216
213
In order to run end to end tests you need to install CDK CLI first and bootstrap your account with `cdk bootstrap` command. For additional details follow [documentation](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html).
217
214
218
215
To run locally, export `AWS_PROFILE` environment variable and run `make e2e tests`. To run from GitHub Actions, use [run-e2e-tests workflow](https://github.com/awslabs/aws-lambda-powertools-python/actions/workflows/run-e2e-tests.yml) and pick the branch you want to run tests against.
219
216
220
217
**NOTE**: E2E tests are run as part of each merge to `develop` branch.
218
+
221
219
### Releasing a documentation hotfix
222
220
223
221
You can rebuild the latest documentation without a full release via this [GitHub Actions Workflow](https://github.com/awslabs/aws-lambda-powertools-python/actions/workflows/rebuild_latest_docs.yml). Choose `Run workflow`, keep `develop` as the branch, and input the latest Powertools version available.
0 commit comments