JSON for Modern C++ Release Scripts

Preparations

  • Install required tools: make install_requirements.
  • Add required keys to config.json (apparently not checked in to GitHub).

Release Checklist

Set the version number.

  • Edit file config.json.

Check if the milestone is correctly set.

Clean the working directory.

  • Execute rm -fr workdir/json.

Update feature slideshow.

  • Adjust version and content in slideshow scripts/slideshow/JSON.key.

Checkout working copy and bump versions.

  • Execute make pass_1.

Make last adjustments to the working copy workdir/json.

  • Edit README.md and add new contributors.

Commit all changes to the working copy.

  • Execute make pass_2.

Create an empty release draft and push it to GitHub.

  • Execute make pass_3.

Edit the created release draft.

  1. Wait for the CI to complete on the pushed release branch.
  1. Merge the release branch and push all changes.
  • Execute make pass_4.
  1. Publish the release.
  1. Create PR for Homebrew formula.
  • Execute make update_homebrew.
  1. Clean up discussions.
  • Unpin posts.
  • Close WIP post.
  • Create WIP post for next release.
  • Pin post for current release.
  1. Close current and create a new milestone.

GitHub

GitHub - nlohmann/json_release_scripts: Release scripts for “JSON for Modern C+++
Release scripts for “JSON for Modern C+++. Contribute to nlohmann/json_release_scripts development by creating an account on GitHub.