Skip to content

Latest commit

 

History

History
36 lines (27 loc) · 1.92 KB

CONTRIBUTING.md

File metadata and controls

36 lines (27 loc) · 1.92 KB

Contributing to Fluent Blocks

Please see the contribution docs specific to each package:

Releasing Fluent Blocks

This project uses Changeset in CI to handle releases.

In order to clarify the git history:

  • When contributing to next, use squash commits.
  • When releasing latest, use merge commits.

Releasing to next

The Changeset bot will create a PR (or update its existing PR) when changes are merged into the next branch. Do a squash commit of its PR into the next branch to release to the next tag.

Releasing to latest

To release all changes in next to latest:

  1. Create a branch release/latest based on next
  2. Merge origin’s latest into release/latest
    • Check the git logs for where next was branched from latest to ensure next isn’t missing any important changes. If there are none, you can resolve conflicts automatically with git merge -s recursive -X ours origin/latest.
    • Otherwise, resolve merge conflicts manually.
  3. Run pnpm changeset pre exit and commit & push its change to .changeset.
  4. Create a PR to merge release/latest into latest
  5. When tests pass and visual regressions are resolved, do a merge commit to close the PR instead of a squash.
  6. The Changeset bot will create a PR into latest that finalizes the release’s version numbers and updates changelogs; to release to NPM, close the PR with another merge commit.
  7. Immediately create a branch based on next called merge/latest.
  8. Merge the final released changes to latest into merge/latest.
  9. Run pnpm changeset pre enter next and commit & push its change to .changeset.
  10. Create a PR to merge merge/latest into next and use a squash commit, as usual, to close the PR.
  11. You don’t have to release the result of this change, the next branch should just always have .changeset/pre.json.