MetaMask / MetaMask/metamask-module-template
Library release process
- Dominant language
- JavaScript
- Stars
- 31
- Forks
- 18
- Avg merge
- 11h 39m
- Merged PRs (30d)
- 1
Description
This is a tracking issue for creating an automated release process that can be used by all of our libraries. We may want to split this into smaller tickets.
- [ ] Automate changelog generation
* We should automatically generate changelog entries for any changes made since the last release
* The generated changelog should use the ["keep a changelog" format](https://keepachangelog.com/en/1.0.0/).
* Each generated entry will be uncategorized. We will have to manually categorize each entry, and improve the descriptions of each change.
* The entries should be grouped under the release being prepared
* The entry for the release candidate should not have any date. That will be added after it is released.
- [ ] Automate npm publishing?
* This is an open question, as there are security concerns about the authority granted to npm tokens.
- [x] Automate preparation of a release candidate
* We could trigger a release candidate by pushing a branch with a particular naming scheme (e.g. `release-X.Y.Z`)
* The version bump and changelog generation script should be run automatically
- [x] 'Require linear history' should be enabled for any long-running branches (e.g. `main` and version branches)
* This lets us assume that it's safe to release after merging the release branch, because it's guaranteed to be identical to what was tested on the release branch.
- [x] Merging the release branch should trigger final release steps
* This includes tagging the release commit, publishing a GitHub release, and updating the changelog with the release date.
- [x] Write instructions for new release process
* These should be included in the repository
* These instructions should assume as little as possible. Include examples of each command that should be run.
* Include instructions for both normal and hotfix releases
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the two unchecked items: automated changelog generation and npm publishing. Define the shared release workflow for all libraries, including Keep a Changelog formatting, release-candidate handling, security constraints, and manual categorization; the issue should be split into smaller tickets before implementation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- ci-cd, devops, release
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100