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

Library release process #31

Open
4 of 6 tasks
Gudahtt opened this issue Mar 29, 2021 · 3 comments
Open
4 of 6 tasks

Library release process #31

Gudahtt opened this issue Mar 29, 2021 · 3 comments

Comments

@Gudahtt
Copy link
Member

Gudahtt commented Mar 29, 2021

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.
    • 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.
  • 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
  • '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.
  • 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.
  • 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
@shanejonas
Copy link

shanejonas commented Mar 30, 2021

example of github action for library release process: https://github.com/MetaMask/metamask-api-specs/blob/main/.github/workflows/release-pr.yml

@shanejonas
Copy link

@mcmire
Copy link
Contributor

mcmire commented Nov 2, 2023

This seems to be fully implemented. Can we close this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants