File: CHECKLIST

package info (click to toggle)
mdp 3.3-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 2,100 kB
  • sloc: python: 22,278; makefile: 31; sh: 6
file content (99 lines) | stat: -rw-r--r-- 4,891 bytes parent folder | download | duplicates (2)
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
=== Checklist for MDP release ===

Before release:

- check that new nodes have been explicitly imported in nodes/__init__.py
  and that they are listed in __all__:
  - create a list of defined nodes with:
    git grep 'class .*Node(' mdp/nodes | grep -v test | grep -v Scikits | cut -d ':' -f 2 | cut -d ' ' -f 2 | cut -d '(' -f 1 | sort > /tmp/list_defined
  - create a list of nodes imported in mdp.nodes with:
    python -c "import sys, mdp; [sys.stdout.write(i+'\n') for i in  sorted([obj for obj in mdp.nodes.__dict__ if obj.endswith('Node') and not obj.endswith('ScikitsLearnNode')])]" > /tmp/list_in_dict
  - create a list of nodes in __all__ with:
    python -c "import sys, mdp; [sys.stdout.write(i+'\n') for i in  sorted([obj for obj in mdp.nodes.__all__ if obj.endswith('Node') and not obj.endswith('ScikitsLearnNode')])]" > /tmp/list_in_all
  - compare those lists [keep in mind that a couple of nodes are private and
    so those lists do not need to be exactly equal]

- make sure that __init__ has the right version number

- update date in variable __copyright__ in file __init__
- test all suported python versions and dependencies with
  python testall.py /home/tiziano/python/x86_64/lib/pythonVERSION/site-packages
- "make doctest" in docs repository and fix all failures

During release:
- update CHANGES: you can generate a new bunch of CHANGES with:
  git log --no-color --pretty="format:%w(79,0,12)%ad: %s%+b" --date=short --no-merges --since=$LASTRELEASE
  where LASTRELEASE is the date of the last release [LASTRELEASE=2010-05-15]. 
  You can then prepend the output of this command to the original CHANGES file, 
  but even better would be to edit the result to only keep the changes
  that are relevant for the user like incompatibilities, new features, etc..
- update TODO and COPYRIGHT (date)
- generate tutorial, website, and API documentation [make website]
- change homepage colors
- short/long description should go: on SF.net description, tutorial,
  home page, modules __init__, software.incf.net.
- generate installers and source packages and test them:
  for python2: run the gendist script
  for python3: the windows installer must be generated under windows,
               following the instructions in gendist
- create a release notes file
- tag release in git (tag mdp-toolkit repo)
  git tag -a MDP-3.0
- push the tag git push --tags
- update on SF.net:
  release files: 
    - sftp username,mdp-toolkit@frs.sourceforge.net
    - cd /home/pfs/project/m/md/mdp-toolkit/mdp-toolkit/
    - create a new directory for the release, for example for release 3.0:
       mkdir 3.0
       cd 3.0
    - upload the files there (note: the release notes should be named 
      README.txt): 
      file to upload are: .tar.gz, .zip, .exe, tutorial, release notes file
       - login to sourceforge, go to "Files"
       - select the new created directory
       - select the installer for windows and set it as 
         default for windows by clicking on the "i" icon on the right, 
       - select the tar.gz for linux and set it as 
         default for linux and mac
       - at that point the readme file should be automatically shown as release
         note file
		 if README.txt is not shown, delete it and upload it through the web interface.
		 make sure that it is shown.
    - more info: https://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download
- make the website within a clone of the docs repository with:
 - make website
 - be careful to read all warnings and messages, often things do not work as 
   expected.
 - upload the pdf tutorial, which is in build/latex/MDP-tutorial.pdf, to sf.net
   as explained above for the source tarballs.
 - synchronize the site with:
   cd build/html
   rsync -av --delete-after . username,mdp-toolkit@web.sourceforge.net:/home/project-web/mdp-toolkit/htdocs/
 - more info: http://alexandria.wiki.sourceforge.net/Project+Web,+Shell,+VHOST+and+Database+Services
- tag the docs repository:
  git tag -a MDP-3.0
  git push --tags
- post news to sourceforge [the content may be the release notes file]:
  https://sourceforge.net/news/submit.php?group_id=116959
- update package information on mloss.org, pypi, and software.incf.net:
  
  - pypi [you need an account here: http://pypi.python.org/pypi]:
     within a clone of the mdp-toolkit repo: python setup.py register
  
  - mloss.org: https://mloss.org/software/update/60/
 
  - software.incf.org: http://software.incf.net/software/modular-toolkit-for-data-processing-mdp/

After release:
- update version number in __init__
- send announcement to:
	connectionists: connectionists@cs.cmu.edu
	ML-news: ML-news@googlegroups.com
	numpy-discussion: numpy-discussion@scipy.org
	Scipy users: scipy-user@scipy.org
	mdp-users: mdp-toolkit-users@lists.sourceforge.net
        Python-announce: python-announce-list@python.org

- celebrate!!