summaryrefslogtreecommitdiff
path: root/RELEASE.md
blob: e57d1144575876351f04faf9bdbdc2f53b9c498b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
## Release instructions

When releasing a new version, the following steps should be taken:

1. Make sure the package metadata in `pyproject.toml` is up-to-date.

    ```
    poetry check
    ```

2. Make sure all automated tests pass:

    ```
    poetry run pytest
    ```

3. Bump the version of the package

    ```
    poetry version -- X.Y.Z
    ```

4. Update the [CHANGELOG.md]

    ```
    git add CHANGELOG.md
    ```

5. Commit and sign the changes:

    ```
    git add -u
    git commit -v -s -m "Release version X.Y.Z"
    ```

6. Create a signed release [tag]:

    ```
    git tag -a -s vX.Y.Z -m "Version X.Y.Z"
    ```

7. Push the changes and the release to Github:

    ```
    git push --follow-tags
    ```

8. Publish the release on PyPI:

    ```
    poetry publish --build
    ```

9. Send an email to the pysaml2 list announcing this 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/
  [branch]: https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell
  [tag]: https://git-scm.com/book/en/v2/Git-Basics-Tagging#_annotated_tags