diff --git a/HOW_TO_RELEASE b/HOW_TO_RELEASE index a6e451e..3cd9fbd 100644 --- a/HOW_TO_RELEASE +++ b/HOW_TO_RELEASE @@ -24,24 +24,41 @@ Time required: about an hour. It's OK to force push to 'stable' if necessary. We also update the stable branch with `git cherrypick` for documentation only fixes that apply the current released version. - 8. Add a section for the next release (v.X.(Y+1)) to doc/whats-new.rst. - 9. Commit your changes and push to main again: + 8. Build and test the release package + python -m pip install --upgrade build twine + rm -rf dist + python -m build + python -m twine check dist/* + 9. Add a section for the next release to doc/whats-new.rst. +10. Commit your changes and push to main again: git commit -a -m 'Revert to dev version' git push origin main You're done pushing to main! -10. Issue the release on GitHub. Open https://github.com/crusaderky/recursive_diff/releases; +11. Issue the release on GitHub. Open https://github.com/crusaderky/recursive_diff/releases; the new release should have automatically appeared. Otherwise, click on "Draft a new release" and paste in the latest from whats-new.rst. -11. Download the .tar.gz package for the release 12. Use twine to register and upload the release on pypi. Be careful, you can't take this back! - twine upload recursive_diff-*.tar.gz + twine upload dist/* You will need to be listed as a package owner at https://pypi.python.org/pypi/recursive_diff for this to work. 13. Update the docs. Login to https://readthedocs.org/projects/recursive_diff/versions/ and switch your new release tag (at the bottom) from "Inactive" to "Active". It should now build automatically. -14. Update conda-forge. Clone https://github.com/conda-forge/recursive_diff-feedstock - and update the version number and sha256 in meta.yaml. (On OS X, you can - calculate sha256 with `shasum -a 256 recursive_diff-X.Y.Z.tar.gz`). Submit a pull - request (and merge it, once CI passes). + Make sure that both the new tagged version and 'stable' build successfully. +14. Update conda-forge. +14a. Clone https://github.com/conda-forge/recursive_diff-feedstock +14b. Update the version number and sha256 in meta.yaml. + You can calculate sha256 with + sha256sum dist/* +14c. Double check dependencies in meta.yaml and update them to match pyproject.toml. +14d. Submit a pull request. +14e. Write a comment in the PR: + @conda-forge-admin, please rerender + Wait for the rerender commit (it may take a few minutes). +14f. Wait for CI to pass and merge. +14g. The next day, test the conda-forge release + conda search recursive_diff + conda create -n recursive_diff-test recursive_diff + conda list + python -m 'import recursive_diff' diff --git a/doc/whats-new.rst b/doc/whats-new.rst index 84628a7..3910ccf 100644 --- a/doc/whats-new.rst +++ b/doc/whats-new.rst @@ -5,7 +5,7 @@ What's New .. _whats-new.1.2.0: -v1.2.0 (unreleased) +v1.2.0 (2024-03-16) ------------------- - Added support for Python 3.11 and 3.12 - Added support for recent Pandas versions (tested up to 2.2) diff --git a/pyproject.toml b/pyproject.toml index 3c729cb..1e4fd3e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,6 +28,10 @@ dynamic = ["version"] [project.urls] Homepage = "https://github.com/crusaderky/recursive_diff" +[project.readme] +text = "Recursively compare two Python data structures" +content-type = "text/x-rst" + [project.scripts] ncdiff = "recursive_diff.ncdiff:main"