summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kanakarakis <ivan.kanak@gmail.com>2023-02-14 16:01:40 +0200
committerIvan Kanakarakis <ivan.kanak@gmail.com>2023-02-14 16:01:40 +0200
commit9b565f93640a7fffd4f48e7f121d2f6663952293 (patch)
tree0675fd52fe360530f5e03e92d1f5d1abcd13de9d
parente60755e23a4efdbc13e1317128d1dcfa4a9cab9e (diff)
downloadpysaml2-9b565f93640a7fffd4f48e7f121d2f6663952293.tar.gz
Update release instructions
Signed-off-by: Ivan Kanakarakis <ivan.kanak@gmail.com>
-rw-r--r--RELEASE.md85
1 files changed, 28 insertions, 57 deletions
diff --git a/RELEASE.md b/RELEASE.md
index 57172a00..fc29a18a 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -1,61 +1,51 @@
-## NOTICE
-
-this is not accurate anymore and needs to be reworked.
-
-
## Release instructions
When releasing a new version, the following steps should be taken:
-1. Make sure all automated tests pass.
+1. Make sure the package metadata in `pyproject.toml` is up-to-date.
-2. Make sure the package metadata in `setup.py` is up-to-date. You can
- verify the information by re-generating the egg info:
+ ```
+ poetry check
+ ```
- ```
- python setup.py egg_info
- ```
+2. Make sure all automated tests pass:
- and inspecting `src/pysaml2.egg-info/PKG-INFO`. You should also make sure
- that the long description renders as valid reStructuredText. You can
- do this by using the `rst2html.py` utility from [docutils]:
+ ```
+ poetry run pytest
+ ```
- ```
- python setup.py --long-description | rst2html > test.html
- ```
+3. Bump the version of the package
- If this will produce warning or errors, PyPI will be unable to render
- the long description nicely. It will treat it as plain text instead.
+ ```
+ poetry version -- X.Y.Z
+ ```
-3. Update the version in the [VERSION] file and report the changes in
- [CHANGELOG.md] and commit the changes.:
+4. Update the [CHANGELOG.md]
- ```
- git add CHANGELOG.md
- git add VERSION
- git commit -v -s -m "Release version X.Y.Z"
- ```
+ ```
+ git add CHANGELOG.md
+ ```
-4. Create a release [branch]:
+5. Commit and sign the changes:
- ```
- git branch vX.Y.Z
- ```
+ ```
+ git add -u
+ git commit -v -s -m "Release version X.Y.Z"
+ ```
-5. Create a release [tag]:
+6. Create a signed release [tag]:
- ```
- git tag -a -s vX.Y.Z -m "Version X.Y.Z"
- ```
+ ```
+ git tag -a -s vX.Y.Z -m "Version X.Y.Z"
+ ```
-6. Push these changes to Github:
+7. Push the changes and the release to Github:
```
- git push --follow-tags origin vX.Y.Z
- git push --follow-tags origin vX.Y.Z:vX.Y.Z
+ git push --follow-tags
```
-7. Create a source and wheel distribution and upload it to PyPI:
+8. Publish the release on PyPI:
generate a source and wheel distribution at once
```
@@ -77,28 +67,9 @@ When releasing a new version, the following steps should be taken:
twine upload dist/pysaml2-X.Y.Z*
```
-8. Upload the documentation to PyPI. First you need to generate the html
- version of the documentation:
-
- ```
- cd docs/
- make clean
- make html
- cd _build/html
- zip -r pysaml2-docs.zip *
- ```
-
- Submit the generated pysaml2-docs.zip file.
-
9. Send an email to the pysaml2 list announcing this release
-**Important:** Once released to PyPI or any other public download location,
-a released egg may *never* be removed, even if it has proven to be a faulty
-release ("brown bag release"). In such a case it should simply be superseded
-immediately by a new, improved release.
-
-
[VERSION]: https://github.com/IdentityPython/pysaml2/blob/master/VERSION
[CHANGELOG.md]: https://github.com/IdentityPython/pysaml2/blob/master/CHANGELOG.md
[docutils]: http://docutils.sourceforge.net/