Skip to content

Latest commit

 

History

History
 
 

scripts

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

MUI Scripts

Release

Tip: You can copy raw markdown checklist below to the release Pull Request and follow it step by step marking completed items.

A typical release goes like this:

Prepare the release of the packages

The following steps must be proposed as a pull request.

  • Compare the last tag with the branch upon which you want to release (next for the alpha / beta releases and master for the current stable version). To do so, use yarn release:changelog The options are the following:

    yarn release:changelog
       --githubToken   YOUR_GITHUB_TOKEN (needs "public_repo" permission)
       --lastRelease   The release to compare against (default: the last one)
       --release       The branch to release (default: master)

    You can also provide the github token by setting process.env.GITHUB_TOKEN variable.

    In case of a problem, another method to generate the changelog is available at the end of this page.

  • Clean the generated changelog, to match the format of https://github.com/mui/mui-x/releases.

  • Update the root package.json's version

  • Update the versions of the other package.json files and of the dependencies with yarn release:version.

  • Fix manually the package version in x-date-pickers/package.json and x-date-pickers-pro/package.json.

  • Open PR with changes and wait for review and green CI.

  • Merge PR once CI is green, and it has been approved.

Release the packages

  • Checkout the last version of the working branch
  • Make sure you have the latest dependencies installed: yarn.
  • Build the packages: yarn release:build.
  • Release the versions on npm: yarn release:publish (you need your 2FA device).
  • Push the newly created tag: yarn release:tag.

Publish the documentation

The documentation must be updated on the docs-vX branch (docs-v4 for v4.X releases, docs-v5 for v5.X releases, ...)

  • Push the working branch on the documentation release branch to deploy the documentation with the latest changes.
git push upstream master:docs-v5 -f

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-v5 deployment.

Publish GitHub release

Announce

A script failed, what can I do?

Manual changelog generation

Compare the last tag with the branch upon which you want to release (next for the alpha / beta releases and master for the current stable version).

For instance: https://github.com/mui/mui-x/compare/v4.0.0-alpha.9...master (if you want to release master and the last tag is v4.0.0-alpha.9) You can use the following script in your browser console on any GitHub page to automatically navigate to the page comparing master with the last tag.

(async () => {
  const releaseBranch = 'master';
  const tagResponse = await fetch('https://api.github.com/repos/mui/mui-x/tags?per_page=1');
  const tagData = await tagResponse.json();
  const lastTag = tagData[0].name;
  const diffPage = `https://github.com/mui/mui-x/compare/${lastTag}...${releaseBranch}`;
  window.location.href = diffPage;
})();

Manually create the release tag

If the yarn release:tag fails you can create and push the tag using the following command: git tag -a v4.0.0-alpha.30 -m "Version 4.0.0-alpha.30" && git push upstream --tag.