releasing 0.15.1
[docutils.git] / sandbox / infrastructure / releasing-log.txt
blob450e20f9c5a0f5095f2d94f13a4f75897cbbcb22
1 Releasing
2 =========
4 :Contact: grubert@users.sourceforge.net, docutils-develop@users.sourceforge.net
5 :Revision: $Revision$
6 :Date: $Date$
7 :Copyright: This document has been placed in the public domain.
9 Notes on what happend while releasing.
11 CAUTION (2019-07-22)
12 ====================
14   While releasing 0.15 ::
16     python3 setup.py sdist bdist_wheel
17     python2 setup.py bdist_wheel
19   This will result in the py2 wheel being identical to the py3 one.
21   The name ``docutils-0.15-py2-none-any.whl`` cannot be used twice on pypi,
22   build the py2-wheel and rename it ``docutils-0.15.post1-py2-none-any.whl``.
23   (No code was changed therefore only filename change.)
25   Name it ``docutils-0.15-post1-py2-none-any.whl`` then the version in the filename
26   corresponds to the directory names in the wheel file.
28   Maybe change the the version number in setup.py ?
30 Release 0.15.1 (2019-07-24)
31 ===========================
33 branches/rel-0.15
35 Bug fix release for python2 only.
37 * set version 0.15.1
38 * ``python2 setup.py sdist bdist_wheel``
39 * ``python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/docutils-0.15.1-py2-none-any.whl ``
40 * in a new virtualenv::
42     python -m pip install --index-url https://test.pypi.org/simple/ --no-deps docutils
44   and then test/alltests.py 
45 * ``python3 -m twine upload  dist/docutils-0.15.1*``
47   upload py2-wheel and source.
48 * in a new virtualenv::
50     python -m pip install docutils
52   and then test/alltests.py 
58 Release 0.15
59 ============
61 svn revision: 8258 - start of release
63 * test on linux 2.7 3.7 : passed
64 * test on macosx python2.6: 
66   - 7 failures due to different error messages. see below
67   - 4 errors: python2.6 sys.version_info is a tuple no dictionary 
68     FIXED: revision 8260
70 * test on macosx 2.7 3.4 3.6 3.7 : passed
71 * change version to : 0.15rc1.dev
73   - run tests: python 2.7 and 3.7
75 * extract changes from HISTORY.txt to RELEASE-NOTES.txt
76 * rename headings in HISTORY.txt and RELEASE-NOTES.txt
77 * run release.sh stage 2: do a clean checkout and packing
78 * run local test with python 2.6 2.7 3.4 3.6 3.7
79 * upload to sourceforge.net. Keep 0.15 as latest, stable.
80 * Fix: README.txt version number BY HAND
81 * pypi :
83   - docutils is registered
84   - check setup.py : add classifier 'Programming Language :: Python :: 3.7'
85   - Login to pypi (see https://packaging.python.org/tutorials/packaging-projects/)
87     - python3 -m pip install --user --upgrade setuptools wheel
89       (warns about not being in PATH. symlink into my/bin)
90     - python3 setup.py sdist bdist_wheel ::
92         /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/distutils/dist.py:274: UserWarning: Unknown distribution option: 'python_requires'
93           warnings.warn(msg)
95         error: invalid command 'bdist_wheel'
97     - add import setuptools to setup.py
98     - python3 setup.py sdist bdist_wheel
99     - python2 setup.py bdist_wheel
100     - python3 -m pip install --user --upgrade twine
101     - twine upload dist/*
103   check on pypi: 0.15 is there.
105 * update website docs
107   - in directory web edit index.txt
108   - in sandbox/infrastructure run ./docutils-update.local
110 * set version of repository to 0.16b.dev
113 Release 0.14
114 ============
116 svn revision: 8145 - start of release - 0.15.0 beta
118 Prerelease 0.14a0
119 =================
121 svn revision: 8082 Prerelease 0.14a0
122 svn revision: 8078 Prerelease 0.14.0a
124 * merge changes from HISTORY.txt to RELEASE-NOTES.txt
125 * extract release number description setting from release.sh
126 * rename headings in HISTORY.txt and RELEASE-NOTES.txt
127 * run release.sh stage 2: do a clean checkout and packing
128 * run local test with python2.7
129 * upload to sourceforge.net. Keep 0.13 as latest, stable.
130 * reister on to pypi and upload tgz
131 * pypi: unset hide old releases
134 Release 0.13
135 ============
137 svn revision: 7980
139 Tests
140 -----
142 Tests are run from svn checkout, only few from install.
144 * windows7 python 2.7.5: OK
146 * windows7 python 3.4.1: as in previous release
148   * test.css path error (filed #256) 
149   * test_parsers\test_rst\test_directives\test_include.py::
151 * macosx 10.10 python 2.7.10: OK
152 * macosx 10.10 python 3.3.2: OK
153 * macosx 10.10 python 3.4.1: OK
155 * ubuntu 12.04 python 2.7.3: OK
156 * ubuntu 12.04 python 3.2.3: OK
158 * testing tarball 0.13.1 (build sdist) ::
160     +++ functional/output/standalone_rst_html5.html
161     @@ -7,9 +7,9 @@
162      <meta content="A test document, containing at least one example of each reStructuredText construct." lang="en" name="description" xml:lang="en" />
163     -<link rel="stylesheet" href="../input/data/minimal.css" type="text/css" />
164     -<link rel="stylesheet" href="../input/data/plain.css" type="text/css" />
165     -<link rel="stylesheet" href="../input/data/math.css" type="text/css" />
166     +<link rel="stylesheet" href="../../minimal.css" type="text/css" />
167     +<link rel="stylesheet" href="../../plain.css" type="text/css" />
168     +<link rel="stylesheet" href="../../math.css" type="text/css" />
169      </head>
171   this is because ``test/functional/input/data/minimal.css`` is a symlink to
172   ``../../../../docutils/writers/html5_polyglot/minimal.css`` and release_test.sh 
173   removes directory docutils to ensure the test uses the installed docutils
174   not the unzipped.
176   FIX: remove docutils/__init__.py
178 Release 0.12
179 ============
181 svn revision: 7749
183 Tests
184 -----
186 Tests are run from svn checkout, only few from install.
188 Python3 tests are run ::
190   rm -rf build test3
191   python3 setup.py build
192   PYTHONPATH=build/lib python3 test3/alltests.py
194 * ubuntu 8.04: python 2.4.5, 2.5.2, 2.6.7, 2.7.2 OK
196   python 2.6.4rc1 6 failure due to change in error message: no such file ...  
198   python 3.2.3 OK
200 * macosx 10.6.8: python 2.5.4, 2.7.3
202   python 2.6.1 6 failure due to change in error message: no such file ...  
204   python 3.2, 3.4.1 OK
206 * ubuntu 14.04: pyton 2.7.6,  python 3.4.0 OK
208 * windows7: python 2.7.5 
210   Error (filed #256): test_writers/test_html4css1_template.py::
212       stylesheet = """\
213     - <link rel="stylesheet" href="/test.css" type="text/css" />"""
214     + <link rel="stylesheet" href="C:/test.css" type="text/css" />"""
215     ?                              ++
217   python 3.4.1
219   * test.css path error (filed #256) 
220   * test_parsers\test_rst\test_directives\test_include.py::
222       b'Encoding:\n\n.. include:: test_parsers/test_rst/test_directives/utf-16.csv\n   :encoding: utf-16\n'
223         File "test3\alltests.py", line 40, in write
224           string = string.encode('raw_unicode_escape').decode('ascii')
225       UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 994: ordinal not in range(128)
227    fiddling with alltests.py (uncommitted) ::
229       <system_message level="4" line="1" source="test data" type="SEVERE">
230         <paragraph>
231             Problem with "raw" directive:
232             UnicodeDecodeError: \'utf-16-be\' codec can\'t decode bytes in position 90-91: illegal encoding
233         <literal_block xml:space="preserve">
234             .. raw:: html
235                :file: test_parsers/test_rst/test_directives/utf-16.csv
236                :encoding: utf-16''' != '''\
240 Release 0.11
241 ============
243 Summary
244 -------
246 ``sandbox/infrastructure/release.sh`` tries running ``test/alltests.py`` after 
247 installing the new release, this fails because
249 * tests depends on e.g. ``../docs/user/rst/images/title.png`` or ``../HISTORY.txt``, 
250   but thess are neither in the test directory tree nor in the installed software. 
252 * there is a lot of code trying to handle varying installation targets ``/usr/lib``
253   ``/usr/local/lib` and not yet ``/usr/lib/pymodules``.
255 Change testing to:
257 1. build and install
258 2. extract docutils-<release>.tar.gz into tmp
259 3. remove docutils/docutils directory, just to make shure it is not used.
260 4. run test/alltest.py in this directory, so all files are where they are
261    while development.
263 Following failure becuase docutils-library directory was removed, therefore 
264 docutils/writers/html4css1/html4css1.css is not found::
266   ======================================================================
267   FAIL: test_custom_stylesheet_dir (test_writers.test_html4css1_misc.SettingsTestCase)
268   ----------------------------------------------------------------------
269   Traceback (most recent call last):
270     File "/... 0.11/test/test_writers/test_html4css1_misc.py", line 81, in test_custom_stylesheet_dir
271       self.assertIn('docutils/writers/html4css1/html4css1.css', styles)
272     File "/... 0.11/test/DocutilsTestSupport.py", line 138, in assertIn
273       msg or '%s not in %s' % _format_str(a, b))
274   AssertionError: 'docutils/writers/html4css1/html4css1.css' not in u'''\
275   <link rel="stylesheet" href="html4css1.css" type="text/css" />
276   <link rel="stylesheet" href="data/ham.css" type="text/css" />
277   '''
280 Tests
281 -----
283 * ubuntu 8.04 2.4.5, 2.5.2, 2.6.7, 2.7.2 OK
285   python 2.6.4rc1 6 failure due to change in error message: no such file ...  
287   Python 3.2.3 : OK (roman.py left over from last release)
289 * macosx 10.6.8: python 2.5.4, 2.7.3
291   python 2.6.1 6 failure due to change in error message: no such file ...  
293   python 3.2: roman.py for py3 required.
295 Release.sh
296 ----------
298 release.sh does not work on MacOSX.
300 installation on ubuntu 10.04 breaks test script::
302   Working directory: /usr/local/lib/python2.6/site-packages/docutils-test
303   Docutils package: /usr/local/lib/python2.6/dist-packages/docutils
305   ======================================================================
306   FAIL: test_find_file_in_dirs (test_utils.HelperFunctionsTests)
307   ----------------------------------------------------------------------
308   Traceback (most recent call last):
309     File "/usr/local/lib/python2.6/site-packages/docutils-test/test_utils.py", line 295, in test_find_file_in_dirs
310       '../HISTORY.txt')
311   AssertionError: 'HISTORY.txt' != '../HISTORY.txt'
313 Stopping for now.
317 Release 0.10
318 ============
320 * same failures for some python2.6 versions ::
322               Problems with "raw" directive path:
323        -      InputError: [Errno 2] No such file or directory: 'non-existent.file'.
324        +      InputError: (2, 'No such file or directory').
326 * testing release tarball ::
328     ======================================================================
329     FAIL: test_dependencies (__main__.RecordDependenciesTests)
330     ----------------------------------------------------------------------
331     Traceback (most recent call last):
332       File "docutils-test/test_dependencies.py", line 61, in test_dependencies
333         self.assertEqual(record, expected)
334     AssertionError: [u'data/include.txt', u'data/raw.txt'] != [u'../docs/user/rst/images/title.png',
335     u'data/include.txt', u'data/raw.txt']
336     
337     ...
339   because ../docs is not there if run from /usr/../pythonx.x/site-packages/docutils-test.
341 Release 0.9.1
342 =============
344 same failures as for 0.9 plus
346 * python 2.3: twice, ignored ::
348   -             [Errno 2] No such file or directory: 'bogus.csv'.
349   +             [Errno 2] No such file or directory: u'bogus.csv'.
351   python 2.3 ::
353     ======================================================================
354     ERROR: test_unicode (test_error_reporting.ErrorStringTests)
355     ----------------------------------------------------------------------
356     Traceback (most recent call last):
357       File "/usr/local/lib/python2.3/site-packages/docutils-test/test_error_reporting.py", line 153, in test_unicode
358         self.assertEqual(u'ImportError: %s' % SafeString(self.bs),
359     UnicodeDecodeError: 'ascii' codec can't decode byte 0xfc in position 0: ordinal not in range(128)
361 Note: sf takes some considerable time till the downlods are visible for normal users.
362   More than 1 hour , the folder files/docutils/0.9.1 exists and the webinterface
363   correctly summarizes "Totals: 2 Items         1.6 MB" but nothing is shown.
365 Release 0.9
366 ===========
368 * python 2.3 unittest.TestCase has no assertTrue
369 * python 2.3 keyword dictionaries update method does not support kwargs
371 Ignored test errors
373 * python 2.3: unicode problems. 2.3 support is likely to be ended soon.
374   Systems with only 2.3 might not even know of unicode.
376 * PIL ``AttributeError: 'module' object has no attribute 'Image'``
378   A problem in PIL ? 
379   Tested and failiing on
381   - ubuntu8.04, python 2.4, 2.5  
382   - ubuntu10.04, python 2.6  
383   - ubuntu11.10, python 2.7  
385 * python 2.6.4rc1 has a different error message format::
387               Problems with "raw" directive path:
388        -      InputError: [Errno 2] No such file or directory: 'non-existent.file'.
389        +      InputError: (2, 'No such file or directory').
391   but not in python 2.6.7