@@ -17,20 +17,6 @@ Prerequisites
17
17
18
18
* You have a `GPG signing key <https://help.github.com/articles/generating-a-new-gpg-key/ >`_.
19
19
20
- -------------------------
21
- Documentation conventions
22
- -------------------------
23
-
24
- The commands reported below should be evaluated in the same terminal session.
25
-
26
- Commands to evaluate starts with a dollar sign. For example::
27
-
28
- $ echo "Hello"
29
- Hello
30
-
31
- means that ``echo "Hello" `` should be copied and evaluated in the terminal.
32
-
33
-
34
20
35
21
---------------------
36
22
`PyPI `_: Step-by-step
@@ -39,92 +25,42 @@ means that ``echo "Hello"`` should be copied and evaluated in the terminal.
39
25
1. Make sure that all CI tests are passing on `GitHub Actions `_.
40
26
41
27
42
- 2. Download the latest sources
43
-
44
- .. code ::
28
+ 2. Download the latest sources if you don't already have them
45
29
46
- $ cd /tmp && \
47
- git clone [email protected] :scikit-build/cmake-python-distributions cmake-python-distributions-release && \
48
- cd cmake-python-distributions-release
30
+ .. code :: console
49
31
32
+ $ git clone [email protected] :scikit-build/cmake-python-distributions
33
+ $ cd cmake-python-distributions
50
34
51
- 3. List all tags sorted by version
52
35
53
- .. code ::
36
+ 3. Ask nox for the instructions on what to type
54
37
55
- $ git fetch --tags && \
56
- git tag -l | sort -V
38
+ .. code :: console
57
39
40
+ $ nox -s tag_release
58
41
59
- 4. Choose the next release version number
60
42
61
- .. code : :
43
+ 4. Run the suggested lines, probably something like this :
62
44
63
- $ release=X.Y.Z
45
+ .. code :: console
64
46
65
- .. warning ::
66
-
67
- To ensure the packages are uploaded on `PyPI `_, tags must match this regular
68
- expression: ``^[0-9]+(\.[0-9]+)*(\.post[0-9]+)?$ ``.
69
-
70
-
71
- 5. Tag the release
72
-
73
- .. code ::
74
-
75
- $ git tag --sign -m "cmake-python-distributions $release" $release main
47
+ $ git tag --sign -m 'cmake-python-distributions 3.29.1' 3.29.1 main
48
+ $ git push origin 3.29.1
76
49
77
50
.. warning ::
78
51
79
52
We recommend using a `GPG signing key <https://help.github.com/articles/generating-a-new-gpg-key/ >`_
80
53
to sign the tag.
81
54
82
55
83
- 6. Publish the release tag
84
-
85
- .. code ::
56
+ 5. Check the status of the builds on `GitHub Actions `_.
86
57
87
- $ git push origin $release
58
+ 6. Once the builds are completed, check that the distributions are available on ` PyPI `_.
88
59
89
- .. note :: This will trigger builds on each CI services and automatically upload the wheels \
90
- and source distribution on `PyPI `_.
91
-
92
- 7. Check the status of the builds on `GitHub Actions `_.
93
-
94
- 8. Once the builds are completed, check that the distributions are available on `PyPI `_.
95
-
96
- 9. Make a GitHub release based on the tag. This will display the latest version
60
+ 7. Make a GitHub release based on the tag. This will display the latest version
97
61
in the GitHub sidebar, and will notify release watchers of the release.
98
62
Title it `Version X.Y.Z ` and add a little note about what changed (Python only).
99
63
100
- 10. Create a clean testing environment to test the installation
101
-
102
- .. code ::
103
-
104
- $ pushd $(mktemp -d) && \
105
- mkvirtualenv cmake-$release-install-test && \
106
- pip install cmake && \
107
- cmake --version
108
-
109
- .. note ::
110
-
111
- If the ``mkvirtualenv `` command is not available, this means you do not have `virtualenvwrapper `_
112
- installed, in that case, you could either install it or directly use `virtualenv `_ or `venv `_.
113
-
114
- 11. Cleanup
115
-
116
- .. code ::
117
-
118
- $ popd && \
119
- deactivate && \
120
- rm -rf dist/* && \
121
- rmvirtualenv cmake-$release-install-test
122
-
123
-
124
- .. _virtualenvwrapper : https://virtualenvwrapper.readthedocs.io/
125
- .. _virtualenv : https://virtualenv.pypa.io/en/latest
126
- .. _venv : https://docs.python.org/3/library/venv.html
127
-
128
64
129
65
.. _GitHub Actions : https://github.com/scikit-build/cmake-python-distributions/actions/workflows/build.yml
130
66
0 commit comments