1- ## NOTICE
2-
3- this is not accurate anymore and needs to be reworked.
4-
5-
61## Release instructions
72
83When releasing a new version, the following steps should be taken:
94
10- 1 . Make sure all automated tests pass .
5+ 1 . Make sure the package metadata in ` pyproject.toml ` is up-to-date .
116
12- 2 . Make sure the package metadata in ` setup.py ` is up-to-date. You can
13- verify the information by re-generating the egg info:
7+ ```
8+ poetry check
9+ ```
1410
15- ```
16- python setup.py egg_info
17- ```
11+ 2. Make sure all automated tests pass:
1812
19- and inspecting ` src/pysaml2.egg-info/PKG-INFO ` . You should also make sure
20- that the long description renders as valid reStructuredText. You can
21- do this by using the ` rst2html.py ` utility from [ docutils ] :
13+ ```
14+ poetry run pytest
15+ ```
2216
23- ```
24- python setup.py --long-description | rst2html > test.html
25- ```
17+ 3. Bump the version of the package
2618
27- If this will produce warning or errors, PyPI will be unable to render
28- the long description nicely. It will treat it as plain text instead.
19+ ```
20+ poetry version -- X.Y.Z
21+ ```
2922
30- 3 . Update the version in the [ VERSION] file and report the changes in
31- [ CHANGELOG.md] and commit the changes.:
23+ 4. Update the [CHANGELOG.md]
3224
33- ```
34- git add CHANGELOG.md
35- git add VERSION
36- git commit -v -s -m "Release version X.Y.Z"
37- ```
25+ ```
26+ git add CHANGELOG.md
27+ ```
3828
39- 4 . Create a release [ branch ] :
29+ 5. Commit and sign the changes :
4030
41- ```
42- git branch vX.Y.Z
43- ```
31+ ```
32+ git add -u
33+ git commit -v -s -m "Release version X.Y.Z"
34+ ```
4435
45- 5 . Create a release [ tag] :
36+ 6 . Create a signed release [tag]:
4637
47- ```
48- git tag -a -s vX.Y.Z -m "Version X.Y.Z"
49- ```
38+ ```
39+ git tag -a -s vX.Y.Z -m "Version X.Y.Z"
40+ ```
5041
51- 6 . Push these changes to Github:
42+ 7 . Push the changes and the release to Github:
5243
5344 ```
54- git push --follow-tags origin vX.Y.Z
55- git push --follow-tags origin vX.Y.Z:vX.Y.Z
45+ git push --follow-tags
5646 ```
5747
58- 7 . Create a source and wheel distribution and upload it to PyPI:
48+ 8. Publish the release on PyPI:
5949
6050 generate a source and wheel distribution at once
6151 ```
@@ -77,28 +67,9 @@ When releasing a new version, the following steps should be taken:
7767 twine upload dist/pysaml2-X.Y.Z*
7868 ```
7969
80- 8 . Upload the documentation to PyPI. First you need to generate the html
81- version of the documentation:
82-
83- ```
84- cd docs/
85- make clean
86- make html
87- cd _build/html
88- zip -r pysaml2-docs.zip *
89- ```
90-
91- Submit the generated pysaml2-docs.zip file.
92-
93709. Send an email to the pysaml2 list announcing this release
9471
9572
96- ** Important:** Once released to PyPI or any other public download location,
97- a released egg may * never* be removed, even if it has proven to be a faulty
98- release ("brown bag release"). In such a case it should simply be superseded
99- immediately by a new, improved release.
100-
101-
10273 [VERSION]: https://github.com/IdentityPython/pysaml2/blob/master/VERSION
10374 [CHANGELOG.md]: https://github.com/IdentityPython/pysaml2/blob/master/CHANGELOG.md
10475 [docutils]: http://docutils.sourceforge.net/
0 commit comments