A typical release goes like this:
- You must be a member of the
@mui
org in npm to publish the release - Set up your npm authToken by logging into npm (
npm login
) . This will save a token to~/.npmrc
as a line that looks like this://registry.npmjs.org/:_authToken=npm_000000000000000000000000000000000000
- Make sure you have added the
material-ui-docs
remote to deploy the documentation:git remote add material-ui-docs https://github.com/mui/material-ui-docs.git
- Generate a GitHub Token at https://github.com/settings/personal-access-tokens/new and add it to your shell rc script (either
.bashrc
or.zshrc
) asGITHUB_TOKEN
.
The following steps must be proposed as a pull request.
-
Generate the changelog with
pnpm release:changelog
The output must be prepended to the top levelCHANGELOG.md
pnpm release:changelog --help
for more information. If your GitHub token is not in your env, pass it as--githubToken <my-token>
to the above command. -
Clean the generated changelog:
- Match the format of https://github.com/mui/material-ui/releases.
- Change the packages names casing to be lowercase if applicable, for example change
Material
tomaterial
-
Update the root
/package.json
's version -
Run
pnpm release:version
. Keep the package versions of stable public packages the same as the rootpackage.json
version. -
Open PR with changes and wait for review and green CI
-
Merge PR once CI is green and it has been approved
- Checkout the last version of the release branch
pnpm install && pnpm release:build
(make sure you have the latest dependencies installed, and build the packages)pnpm release:publish
(release the versions on npm, you need your 2FA device)pnpm release:tag
(push the newly created tag)
The documentation must be updated on the docs-vX
branch (docs-v1
for v1.X
releases, docs-v2
for v2.X
releases, etc.)
Push the working branch to the documentation release branch to deploy the documentation with the latest changes.
git push -f upstream master:docs-v1
You can follow the deployment process on the Netlify Dashboard
Once deployed, it will be accessible at https://material-ui-x.netlify.app/ for the docs-next
deployment.
Follow the instructions in https://mui-org.notion.site/Releases-7490ef9581b4447ebdbf86b13164272d.