Repository navigation
FreeFeed Release Process
David Mzareulyan edited this page Mar 5, 2025
·
4 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 testyarn 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 upgrade-interactive— select required updates using rules given above and wait till it succeeds. -
rm -rf yarn.lock node_modules; yarn installto upgrade indirect dependencies.
- Check that CHANGELOG.md includes everything it should have. Edit and commit if needed.
- Switch to
releasebranch, merge 'stable' into 'release' - Set current date in
CHANGELOG.mdandsrc/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
betabranch and make sure that "Experimental" section of CHANGELOG.md is higher than new release and that it is up to date. -
Merge release into
stablebranch. -
Update files:
package.jsonCHANGELOG.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