diff --git a/docs/release.rst b/docs/release.rst index b5de60f4e5..e761cdf7a6 100644 --- a/docs/release.rst +++ b/docs/release.rst @@ -22,6 +22,9 @@ the version just below. To release a new version of pybind11: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +If you don't have nox, you should either use ``pipx run nox`` instead, or use +``pipx install nox`` or ``brew install nox`` (Unix). + - Update the version number - Update ``PYBIND11_VERSION_MAJOR`` etc. in ``include/pybind11/detail/common.h``. PATCH should be a simple integer. @@ -51,14 +54,12 @@ To release a new version of pybind11: notifications to users watching releases, and also uploads PyPI packages). (Note: if you do not use an existing tag, this creates a new lightweight tag for you, so you could skip the above step.) - - GUI method: Under `releases `_ click "Draft a new release" on the far right, fill in the tag name (if you didn't tag above, it will be made here), fill in a release name like "Version X.Y.Z", and copy-and-paste the markdown-formatted (!) changelog into the description (usually ``cat docs/changelog.rst | pandoc -f rst -t gfm``). Check "pre-release" if this is a beta/RC. - - CLI method: with ``gh`` installed, run ``gh release create vX.Y.Z -t "Version X.Y.Z"`` If this is a pre-release, add ``-p``. @@ -90,9 +91,7 @@ If you need to manually upload releases, you can download the releases from the .. code-block:: bash - python3 -m pip install build - python3 -m build - PYBIND11_SDIST_GLOBAL=1 python3 -m build + nox -s build twine upload dist/* This makes SDists and wheels, and the final line uploads them. diff --git a/noxfile.py b/noxfile.py index 757a53843a..53d87dbcba 100644 --- a/noxfile.py +++ b/noxfile.py @@ -85,5 +85,7 @@ def build(session: nox.Session) -> None: """ session.install("build") + session.log("Building normal files") session.run("python", "-m", "build") + session.log("Building pybind11-global files (PYBIND11_GLOBAL_SDIST=1)") session.run("python", "-m", "build", env={"PYBIND11_GLOBAL_SDIST": "1"})