Skip to content

Latest commit

 

History

History
138 lines (94 loc) · 2.49 KB

RELEASE_GUIDE.md

File metadata and controls

138 lines (94 loc) · 2.49 KB

Filament Release Guide

This guide makes use of some "environment variables":

  • $RELEASE = the new version of Filament we are releasing today. (e.g., 1.9.3)
  • $NEXT_RELEASE = the version we plan to release next week (e.g., 1.9.4)

Before starting, ensure that each of these branches is up-to-date with origin:

  • release
  • rc/$RELEASE
  • main

0. Make sure the rc/$RELEASE branch has the correct version.

It should have the version corresponding to its name, $RELEASE.

1. Update RELEASE_NOTES.md on the rc branch.

Checkout the rc/$RELEASE branch. In RELEASE_NOTES.md, locate the header corresponding to $RELEASE and write release notes. To see which commits make up the release, run:

build/common/release.sh -c rc/$RELEASE

Commit the changes to rc/$RELEASE with the title:

Update RELEASE_NOTES for $RELEASE

2. Bump versions on main to $RELEASE.

Checkout main and run the following command to bump Filament's version to $RELEASE:

build/common/bump-version.sh $RELEASE

Commit changes to main with the title:

Bump version to $RELEASE

Do not push to origin yet.

3. Cherry-pick RELEASE_NOTES change from rc branch to main.

git cherry-pick rc/$RELEASE

Update the headers. The "Next release" header becomes a header for $NEXT_RELEASE, and a new "Next release" header is added.

For example, this:

## Next release (main branch)
- foo
- bar

## v1.9.3
- baz
- bat

becomes:

## Next release (main branch)

## v1.9.4
- foo
- bar

## v1.9.3
- baz
- bat

Ammend these changes to the cherry-picked change.

git add -u
git commit --amend --no-edit

4. Run release script.

build/common/release.sh rc/$RELEASE rc/$NEXT_RELEASE

This script will merge rc/$RELEASE into release, delete the rc branch, and create a new rc branch called rc/$NEXT_RELEASE. Verify that everything looks okay locally.

5. Push the release branch.

git push origin release

6. Create the GitHub release.

Use the GitHub UI to create a GitHub release corresponding to $RELEASE version. Make sure the target is set to the release branch.

7. Delete the old rc branch.

git push origin --delete rc/$RELEASE

8. Bump the version on the new rc branch to $NEXT_RELEASE.

git checkout rc/$NEXT_RELEASE
build/common/bump-version.sh $NEXT_RELEASE

Commit the changes to rc/$NEXT_RELEASE with the title:

Bump version to $NEXT_RELEASE

9. Push main.

git push origin main

10. Push the new rc branch.

git push origin rc/$NEXT_RELEASE