Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: update release process with missing steps #626

Merged
merged 3 commits into from
Sep 16, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .releaserc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
branches:
- master
- name: 2021-06-release
- name: 2021-09-release
prerelease: true
plugins:
- - "@semantic-release/commit-analyzer"
Expand Down
18 changes: 12 additions & 6 deletions RELEASE_PROCESS.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,18 @@ Release branch must have a year and a month of the release as prefix: {YEAR_OF_R

<img src="./assets/release_process/create_branch.png" alt="This image shows part of the GitHub UI that shows how you can create a new branch using default branch as a base." height="300">

Once feature branches are created, there must be some initial configuration done in each repository.

Things to do in release branch as `chore: ` changes:
- `spec` - Make sure all the official examples located in the repository use the new version of the specification,
- `spec-json-schemas` - Create new JSON Schema file with new version name and expose it here [here](https://github.com/asyncapi/spec-json-schemas/blob/master/index.js),
- `parser-js` - Make sure the list of supported AsyncAPI schema MIME types is extended with the new version [here](https://github.com/asyncapi/parser-js/blob/master/lib/asyncapiSchemaFormatParser.js#L43.)

Things to do in default branch and release branch as `chore: ` changes:
- Set release branch name in prerelease configuration in some repos repositories:
- [package.json in parser-js](https://github.com/asyncapi/parser-js/blob/master/package.json#L90)
- [package.json in spec-json-schemas](https://github.com/asyncapi/spec-json-schemas/blob/master/package.json#L49)
- [.releaserc in spec](https://github.com/asyncapi/spec/blob/master/.releaserc#L4)
#### Release notes

Changes in the specification need to be well described. We need clear information on what has changed, why, and who contributed to the change. A regular changelog is not enough as it is not user-friendly. Every release must have release notes.
Expand All @@ -62,12 +74,6 @@ There are no step-by-step instructions to follow but a set of rules.
- created in all repositories specified in contribution guide,
- At least one user listed in [CODEOWNERS](CODEOWNERS) must approve the pull request in all related repositories.

#### Prerequisites for first feature merge

- `spec` - Make sure all the official examples located in the repository use the new version of the specification,
- `spec-json-schemas` - Make sure changes are introduced in the new JSON Schema file, and they are exposed [here](https://github.com/asyncapi/spec-json-schemas/blob/master/index.js),
- `parser-js` - Make sure the list of supported AsyncAPI schema MIME types is extended with the new version [here](https://github.com/asyncapi/parser-js/blob/master/lib/asyncapiSchemaFormatParser.js#L43.)

#### Merge

- Merge can be done only by repository [CODEOWNERS](CODEOWNERS),
Expand Down