Skip to content

Commit ddbf2fc

Browse files
authored
Release pylxd 2.4.0 (#716)
2 parents c2401b4 + c994a68 commit ddbf2fc

File tree

2 files changed

+53
-1
lines changed

2 files changed

+53
-1
lines changed

doc/source/contributing.rst

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,57 @@ The main steps are:
3535
6. At regular intervals the pyLXD module will be released to PyPi with the new
3636
features and bug fixes.
3737

38+
Releasing
39+
---------
40+
41+
New versions of pyLXD are published to `PyPI <https://pypi.org/project/pylxd/>`_.
42+
43+
1. Bump the version in ``pyproject.toml``::
44+
45+
[project]
46+
name = "pylxd"
47+
version = "<version>"
48+
...
49+
50+
Submit that change in a PR and get it merged.
51+
52+
2. Install the release tooling into a virtual environment (once):
53+
54+
.. code-block:: console
55+
56+
python3 -m venv .venv-release
57+
source .venv-release/bin/activate
58+
pip install '.[release]'
59+
60+
3. Build the source and wheel archives:
61+
62+
.. code-block:: console
63+
64+
python3 -m build
65+
66+
This produces both ``dist/pylxd-<version>.tar.gz`` and
67+
``dist/pylxd-<version>-py3-none-any.whl``.
68+
69+
4. Verify the archives:
70+
71+
.. code-block:: console
72+
73+
twine check --strict dist/*
74+
75+
Both artifacts should report ``PASSED``.
76+
77+
5. Upload to PyPI:
78+
79+
.. code-block:: console
80+
81+
twine upload dist/*
82+
83+
After a successful upload the new release is visible at
84+
https://pypi.org/project/pylxd/.
85+
86+
6. Create a new release and tag on GitHub using the autogenerated release notes
87+
from the merged PRs.
88+
3889
Requirements to merge a Pull Request (PR)
3990
-----------------------------------------
4091

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "pylxd"
7-
version = "2.3.9"
7+
version = "2.4.0"
88
description = "Python library for interacting with the LXD REST API"
99
readme = { file = "README.rst", content-type = "text/x-rst" }
1010
requires-python = ">=3.10"
@@ -43,6 +43,7 @@ testing = [
4343
format = ["black", "flake8", "flake8-pyproject", "isort"]
4444
check = ["mypy"]
4545
doc = ["Sphinx"]
46+
release = ["build", "twine>=6.0.0"]
4647

4748
[tool.setuptools.packages.find]
4849
include = ["pylxd*"]

0 commit comments

Comments
 (0)