-
-
Notifications
You must be signed in to change notification settings - Fork 18
FreeFeed Release Process
David Mzareulyan edited this page Jun 14, 2023
·
3 revisions
- Must be administrator of github.com/FreeFeed organization
- Must have active pgp/gpg key registered with github
All automatic tests should pass. It includes:
yarn test
yarn lint
-
yarn stylelint
(only on frontend) -
yarn tsc
(only on backend on 2021-12-08, but might be needed on frontend if you read it in the future)
Update safe dependencies. It should be limited to patch-level updates (change of "Z" in "x.y.Z"). We can update "Y" in "x.Y.z" if dependency is known to be maintained in a good fashion and maintainer can be trusted to not break things in minor releases (that's rare!).
Technically it is done like this:
-
yarn set version stable
(upgrade YARN) -
yarn plugin import interactive-tools
(upgrade YARN's plugin) -
yarn upgrade-interactive
— select required updates using rules given above and wait till it succeeds. -
rm -rf yarn.lock node_modules; yarn install
to upgrade indirect dependencies.
- Check that CHANGELOG.md includes everything it should have. Edit and commit if needed.
- Switch to
release
branch, merge 'stable' into 'release' - Set current date in
CHANGELOG.md
andsrc/components/footer.jsx
. Add commit with "Release 1.2.3" message (use real version number) - Create signed tag:
git tag -s freefeed_release_1.2.3 -m "Release 1.2.3"
git push --tags origin release
-
Merge release into
beta
branch and make sure that "Experimental" section of CHANGELOG.md is higher than new release and that it is up to date. -
Merge release into
stable
branch. -
Update files:
package.json
CHANGELOG.md
-
src/components/footer.jsx
(only on frontend)
…to mention next minor version without release date ("Not released"). Commit it with "Back to dev" message