Skip to content

Latest commit

 

History

History
64 lines (41 loc) · 2.64 KB

RELEASE.md

File metadata and controls

64 lines (41 loc) · 2.64 KB

Release process

  1. Generate a new version using:

    yarn release:version

    This command will bump the version in every package of the project.

  2. Generate the changelog using:

    yarn release:changelog

    Running this command requires a GitHub personal access token with the public_repo scope.

    Set GITHUB_TOKEN variable in .env file so to avoid passing it with command every time

    OR

    pass token with argument --githubToken YOUR_TOKEN

  3. Copy the generated changelog from the console, clean it up, add a short summary of the release highlights and use the new version number as the title.

  4. Prepend the changelog to CHANGELOG.md.

  5. Open a PR with the proposed changes.

  6. Review/merge the PR — once the PR is merged to master a Docker image is built for the commit, tagged with the commit SHA and then pushed to Docker Hub, just like for any other commit in master.

  7. Wait for the Docker build to finish. (You can find the job in the CircleCI pipelines). Note that you can always verify the built docker image by running it as

    TAG=<git-sha> docker-compose -f docker/compose/docker-compose.yml up

    Where <git-sha> is the commit on master that you want to test.

  8. Release the Docker image using (requires GitHub authentication token):

    # add --prerelease if necessary
    yarn release:docker

    This command runs a GitHub action that retags the Docker image of the release commit in master to the version being released and also to "latest", and pushes those new tags. During the release, no new Docker images are created.

  9. Publish the documentation. The documentation must be updated on the docs-latest branch.

    git push upstream master:docs-latest -f

    You can follow the deployment process on the Netlify Dashboard. Once deployed, it will be accessible at https://mui-toolpad-docs.netlify.app/.

  10. Create a new GitHub release.

    1. Use <version number> to Choose a tag (when you enter new version GH UI will pop a suggestion Create new tag: *** on publish)
    2. Use <commit of merged PR> as the target
    3. Use the cleaned changelog as the content of Describe this release
    4. Use <version number> as the Release title
    5. Mark as prerelease if necessary.
    6. Publish release