|
| 1 | +.. _release-guide: |
| 2 | + |
| 3 | +************************* |
| 4 | +Doing a matplolib release |
| 5 | +************************* |
| 6 | + |
| 7 | +A guide for developers who are doing a matplotlib release |
| 8 | + |
| 9 | +* Edit :file:`__init__.py` and bump the version number |
| 10 | + |
| 11 | + |
| 12 | +.. _release-testing: |
| 13 | + |
| 14 | +Testing |
| 15 | +======= |
| 16 | + |
| 17 | +* Make sure :file:`examples/tests/backend_driver.py` runs without errors |
| 18 | + and check the output of the PNG, PDF, PS and SVG backends |
| 19 | + |
| 20 | +* Run :file:`unit/memleak_hawaii3.py` and make sure there are no |
| 21 | + memory leaks |
| 22 | + |
| 23 | +* try some GUI examples, eg :file:`simple_plot.py` with GTKAgg, TkAgg, etc... |
| 24 | + |
| 25 | +* remove font cache and tex cache from :file:`.matplotlib` and test |
| 26 | + with and without cache on some example script |
| 27 | + |
| 28 | +.. _release-packaging: |
| 29 | + |
| 30 | +Packaging |
| 31 | +========= |
| 32 | + |
| 33 | +* Make sure the :file:`MANIFEST.in` us up to date and remove |
| 34 | + :file:`MANIFEST` so it will be rebuilt by MANIFEST.in |
| 35 | + |
| 36 | +* run `svn-clean |
| 37 | + <http://svn.collab.net/repos/svn/trunk/contrib/client-side/svn-clean>`_ |
| 38 | + from in the mpl svn directory before building the sdist |
| 39 | + |
| 40 | +* unpack the sdist and make sure you can build from that directory |
| 41 | + |
| 42 | +* Use :file:`setup.cfg` to set the default backends. For windows and |
| 43 | + OSX, the default backend should be TkAgg. |
| 44 | + |
| 45 | +* on windows, unix2dos the rc file |
| 46 | + |
| 47 | +.. _release-uploading: |
| 48 | + |
| 49 | +Uploading |
| 50 | +========= |
| 51 | + |
| 52 | +* Post the win32 and OS-X binaries for testing and make a request on |
| 53 | + matplotlib-devel for testing. Pester us if we don't respond |
| 54 | + |
| 55 | + |
| 56 | +* ftp the source and binaries to the anonymous FTP site:: |
| 57 | + |
| 58 | + local> cd dist |
| 59 | + local> ncftp upload.sourceforge.net |
| 60 | + ncftp> cd incoming |
| 61 | + ncftp> put tar.gz, zip exe |
| 62 | + |
| 63 | +* go https://sourceforge.net/project/admin/?group_id=80706 and do a |
| 64 | + file release. Click on the "Admin" tab to log in as an admin, and |
| 65 | + then the "File Releases" tab. Go to the bottom and click "add |
| 66 | + release" and enter the package name but not the version number in |
| 67 | + the "Package Name" box. You will then be prompted for the "New |
| 68 | + release name" at which point you can add the version number, eg |
| 69 | + somepackage-0.1 and click "Create this release". |
| 70 | + |
| 71 | + You will then be taken to a fairly self explanatory page where you |
| 72 | + can enter the Change notes, the release notes, and select which |
| 73 | + packages from the incoming ftp archive you want to include in this |
| 74 | + release. For each binary, you will need to select the platform and |
| 75 | + file type, and when you are done you click on the "notify users who |
| 76 | + are monitoring this package link" |
| 77 | + |
| 78 | + |
| 79 | +.. _release-announcing: |
| 80 | + |
| 81 | +Announcing |
| 82 | +========== |
| 83 | + |
| 84 | +Announce the release on matplotlib-announce, matplotlib-users and |
| 85 | +matplotlib-devel. Include a summary of highlights from the CHANGELOG |
| 86 | +and/or post the whole CHANGELOG since the last release. |
0 commit comments