facebook / lexical

Lexical is an extensible text editor framework that provides excellent reliability, accessibility and performance.
https://lexical.dev
MIT License
19.38k stars 1.64k forks source link

Feature: Improved release process #6244

Open etrepum opened 4 months ago

etrepum commented 4 months ago

Follow-up to #6169 #6204

Once we have nightly releases it would be nice to make the following enhancements:

Nightly releases

Latest channel releases

Proposed new workflow

  1. Run "Create Release Branch" action with patch or minor increment
    • Automatically creates or updates the PR and initial release branch (if we can get permissions to do it, see comment)
    • Automatically creates or updates the tag & channel branch
    • Automatically creates or updates the draft release
  2. PR should be reviewed.
    • If any changes need to be made, do them in separate PRs, merge to main, and start over at step 1
  3. Merge PR
    • This updates main, so the CHANGELOG, package.json, error-codes, etc. are all in sync
  4. Edit draft release (fix formatting, add highlights, etc.) and publish
    • Automatically publishes the contents of the release tag to npm
    • Note: The latest release is used as an input for 1. when generating the CHANGELOG

Open questions


I have a prototype of the new workflows in a separate repo that I have deliberately built with similar organization around the workflows and release processes with all of this working: https://github.com/etrepum/lexical-builder/tree/main/.github/workflows

etrepum commented 4 months ago

Regarding PRs, it seems that it might be worth leaving that as a manual process unless the facebook organization and lexical repo allows actions to create PRs. It's not on by default.

Screenshot 2024-06-03 at 2 50 51 PM