MetaMask / MetaMask/metamask-module-template

Library release process

Open
#31 3 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.