summaryrefslogtreecommitdiff
path: root/docs/dev/release.txt
blob: 8923413d2ce78aa62c2c04852138cd1ef40d4ce2 (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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
=============================
 Docutils_ Release Procedure
=============================

:Authors: David Goodger; Lea Wiemann; open to all Docutils developers
:Contact: docutils-develop@lists.sourceforge.net
:Date: $Date$
:Revision: $Revision$
:Copyright: This document has been placed in the public domain.

.. _Docutils: http://docutils.sourceforge.io/

Releasing (post 2020)
---------------------

* Announce the upcoming release on docutils-develop list.

  Consider **feature freeze** or/and **check-in freeze** .

* Update RELEASE-NOTES.txt.

  Consult HISTORY.txt for important changes.

  Change the ``Changes Since <previous release>`` to ``Release <version>``.

* Set new version with ``sandbox/infrastructure/set_version.sh <version>``

  Check what was changed with version control system

  Run tests ::

    export PYTHONWARNINGS=default
    python2 test/alltests.py
    python3 test/alltests.py

  or use tox.
    
  ``export PYTHONWARNINGS=default`` prints DeprecationWarnings in python3.

* Generate universal wheel and source-distribution::

    python3 setup.py sdist
    python3 setup.py bdist_wheel --universal

* Upload universal wheel and source to test.pypi::

    python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*

  Wait some minutes to test in virtualenv ::

    python2 -m virtualenv du2 ; cd du2
    export PYTHONPATH= ; . bin/activate

    python -m pip install --index-url https://test.pypi.org/simple/ --no-deps docutils

    cp -r ../docutils-code/docutils/test .
    python2 test/alltests.py
    # IGNORE stylesheet path differences ?

    python -m pip uninstall docutils
    deactivate ; cd .. ; rm -r du2

  Test in venv ::

    python3 -m venv du3 ; cd du3
    export PYTHONPATH= ; . bin/activate

    python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps docutils

    cp -r ../docutils-code/docutils/test .
    python test/alltests.py
    # IGNORE stylesheet path differences ?

    python -m pip uninstall docutils
    deactivate ; cd .. ; rm -r du3

* Commit changes ... the changed version number.

* tag 0.## (Note: only directory docutils is copied)::

    svn copy svn+ssh://grubert@svn.code.sf.net/p/docutils/code/trunk/docutils \
             svn+ssh://grubert@svn.code.sf.net/p/docutils/code/tags/docutils-0.## \
             -m "tagging release 0.##"

* Now upload to pypi::

    python3 -m twine upload  dist/docutils-0.##*

  and test::

    python3 -m venv du3 ; cd du3
    export PYTHONPATH= ; . bin/activate

    pip install --no-deps docutils
    cp -r ../docutils-code/docutils/test .
    python test/alltests.py
    # css paths fail

    python2 -m virtualenv du2 ; cd du2
    export PYTHONPATH= ; . bin/activate

    pip install --no-deps docutils
    cp -r ../docutils-code/docutils/test .
    python test/alltests.py
    # css paths fail

* Notify to docutils-developer and user.

* upload doc/0.## ::

    mkdir tmp1
    cd tmp1
    tar xzvf ../dist/docutils-0.##.tar.gz
    cd docutils-0.##/
    tools/buildhtml.py .
    find . -name \*.pyc -exec rm {} \;
    rm -rf docutils.egg-info
    rsync -e ssh -r -t ./ web.sourceforge.net:/home/project-web/docutils/htdocs/0.##

* change web index.txt
* run sandbox/infrastructure/docutils-update.local

* set version 0.##+1b.dev
* test with py2 and py3
* run sandbox/infrastructure/docutils-update.local

* docutils/HISTORY.txt: add title "Changes Since 0.##"

* Release to sourceforge.

  - Remove test/outputs from tar.gz.
  - Upload tar.gz and 0.16 release notes to sourceforge.
  - Select docutils-0.16.tar.gz as default for all OS.  


..
   Local Variables:
   mode: indented-text
   indent-tabs-mode: nil
   sentence-end-double-space: t
   fill-column: 70
   End: