Skip to content

Commit 9b565f9

Browse files
committed
Update release instructions
Signed-off-by: Ivan Kanakarakis <[email protected]>
1 parent e60755e commit 9b565f9

File tree

1 file changed

+28
-57
lines changed

1 file changed

+28
-57
lines changed

RELEASE.md

Lines changed: 28 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,51 @@
1-
## NOTICE
2-
3-
this is not accurate anymore and needs to be reworked.
4-
5-
61
## Release instructions
72

83
When 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-
9370
9. 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

Comments
 (0)