Skip to content

Commit 929e5a3

Browse files
committed
Add docs
1 parent c9ef35c commit 929e5a3

File tree

3 files changed

+41
-17
lines changed

3 files changed

+41
-17
lines changed

CONTRIBUTING.md

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -130,25 +130,14 @@ This means that all commits on the branch will be squashed into a single commit,
130130
* Make sure to rebase the branch on `master` before squashing it
131131
* Make sure to update the commit message of the squashed branch to follow the commit guidelines - including the PR number
132132
133-
## Publishing a Release
133+
### Gitflow
134134
135-
_These steps are only relevant to Sentry employees when preparing and publishing a new SDK release._
135+
We use [Gitflow](https://docs.github.com/en/get-started/quickstart/github-flow) as a branching model.
136136
137-
**If you want to release a new SDK for the first time, be sure to follow the [New SDK Release Checklist](./docs/new-sdk-release-checklist.md)**
137+
For more details, [see our Gitflow docs](./docs/gitflow.md).
138138
139-
1. Determine what version will be released (we use [semver](https://semver.org)).
140-
2. Update [`CHANGELOG.md`](https://github.com/getsentry/sentry-javascript/edit/master/CHANGELOG.md) to add an entry for the next release number and a list of changes since the last release. (See details below.)
141-
3. Run the [Prepare Release](https://github.com/getsentry/sentry-javascript/actions/workflows/release.yml) workflow.
142-
4. A new issue should appear in https://github.com/getsentry/publish/issues.
143-
5. Ask a member of the [@getsentry/releases team](https://github.com/orgs/getsentry/teams/releases/members) to approve the release.
139+
## Publishing a Release
144140
145-
### Updating the Changelog
141+
_These steps are only relevant to Sentry employees when preparing and publishing a new SDK release._
146142
147-
1. Create a new branch.
148-
2. Run `git log --format="- %s"` and copy everything since the last release.
149-
3. Create a new section in the changelog, deciding based on the changes whether it should be a minor bump or a patch release.
150-
4. Paste in the logs you copied earlier.
151-
5. Delete any which aren't user-facing changes.
152-
6. Alphabetize the rest.
153-
7. If any of the PRs are from external contributors, include underneath the commits `Work in this release contributed by <list of external contributors' GitHub usernames>. Thank you for your contributions!`. If there's only one external PR, don't forget to remove the final `s`. If there are three or more, use an Oxford comma. (It's in the Sentry styleguide!)
154-
8. Commit, push, and open a PR with the title `meta: Update changelog for <fill in relevant version here>`.
143+
[See the docs for publishing a release](./docs/publishing-a-release.md)

docs/gitflow.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Gitflow
2+
3+
We use [Gitflow](https://docs.github.com/en/get-started/quickstart/github-flow) as a branching model.
4+
5+
## Summary
6+
7+
* Ongoing work happens on the `develop` branch
8+
* Any PRs (features, ...) are implemented as PRs against `develop`
9+
* When we are ready to release, we merge develop into master, create a release there, then merge master back into develop
10+
* Whatever is currently on `master` can be considered the last released state of the SDK
11+
* Never merge directly into `master` (unless we want e.g. an emergency bugfix release)

docs/publishing-a-release.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
2+
# Publishing a Release
3+
4+
_These steps are only relevant to Sentry employees when preparing and publishing a new SDK release._
5+
6+
**If you want to release a new SDK for the first time, be sure to follow the [New SDK Release Checklist](./new-sdk-release-checklist.md)**
7+
8+
1. Determine what version will be released (we use [semver](https://semver.org)).
9+
2. Update [`CHANGELOG.md`](https://github.com/getsentry/sentry-javascript/edit/master/CHANGELOG.md) to add an entry for the next release number and a list of changes since the last release. (See details below.)
10+
3. Run the [Prepare Release](https://github.com/getsentry/sentry-javascript/actions/workflows/release.yml) workflow.
11+
4. A new issue should appear in https://github.com/getsentry/publish/issues.
12+
5. Ask a member of the [@getsentry/releases team](https://github.com/orgs/getsentry/teams/releases/members) to approve the release.
13+
6. Automated CI workflows will take care of syncing changes between `develop` and `master`
14+
15+
## Updating the Changelog
16+
17+
1. Create a new branch.
18+
2. Run `git log --format="- %s"` and copy everything since the last release.
19+
3. Create a new section in the changelog, deciding based on the changes whether it should be a minor bump or a patch release.
20+
4. Paste in the logs you copied earlier.
21+
5. Delete any which aren't user-facing changes.
22+
6. Alphabetize the rest.
23+
7. If any of the PRs are from external contributors, include underneath the commits `Work in this release contributed by <list of external contributors' GitHub usernames>. Thank you for your contributions!`. If there's only one external PR, don't forget to remove the final `s`. If there are three or more, use an Oxford comma. (It's in the Sentry styleguide!)
24+
8. Commit, push, and open a PR with the title `meta: Update changelog for <fill in relevant version here>` against `develop` branch.

0 commit comments

Comments
 (0)