doc/release_steps.txt
author Florian Westphal <fw@strlen.de>
Wed, 03 Sep 2008 23:24:59 +0200
changeset 3595 693faf7f4e9b
parent 3358 42504fb1f7be
child 3683 05797303259b
permissions -rw-r--r--
nsc: Fix build problem if gtk config store is disabled gtk config store pulled in libdl.so for us, so things fail to link of the config store isn't enabled. This makes nsc pull in libdl itself when its enabled.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
776
34d5715456b3 release_steps.txt document
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     1
Steps in doing an ns-3 release
34d5715456b3 release_steps.txt document
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     2
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
     3
1. check out a clean ns-3-dev somewhere
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
     4
2. prepare the source files
776
34d5715456b3 release_steps.txt document
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     5
   - revise and check in AUTHORS, if needed
34d5715456b3 release_steps.txt document
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
     6
   - revise and check in RELEASE_NOTES
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
     7
   - DO NOT change VERSION at this time
1797
7cd3c92af131 Add Doxygen cleanup as a release step
Tom Henderson <tomh@tomh.org>
parents: 1789
diff changeset
     8
   - confirm that Doxygen builds cleanly and without warnings
3194
79dba133b5f8 update RELEASE_NOTES and a few other files
Tom Henderson <tomh@tomh.org>
parents: 2892
diff changeset
     9
     (./waf check; ./waf --doxygen), and check in any necessary changes 
3278
3abce59c8bf8 fill in some blanks
Craig Dowell <craigdo@ee.washington.edu>
parents: 3194
diff changeset
    10
   - ensure no regressions (./waf --regression)
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    11
3. ./waf configure; ./waf dist
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    12
   - this will create an ns-3-dev.tar.bz2 tarball
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    13
   - this will also create a ns-3-dev-ref-traces.tar.bz2 tarball
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    14
4. test dev tarball on release platforms (waf check and maybe some other 
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    15
   scripts)
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    16
5. once you are happy with the tarball, tag ns-3-dev and ns-3-dev-ref-traces
3358
42504fb1f7be new convention for release tags
Craig Dowell <craigdo@ee.washington.edu>
parents: 3289
diff changeset
    17
   - hg tag "ns-3.1x"
1789
39a56c382884 more detail in release_steps.txt
Tom Henderson <tomh@tomh.org>
parents: 1286
diff changeset
    18
   - hg push 
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    19
   - cd into regression/ns-3-dev-ref-traces
3358
42504fb1f7be new convention for release tags
Craig Dowell <craigdo@ee.washington.edu>
parents: 3289
diff changeset
    20
   - hg tag "ns-3.1x"
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    21
   - hg push 
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    22
6. clone the tagged ns-3-dev and place it on the repository
2343
85959d329c8c a few tweaks to the release steps document
Tom Henderson <tomh@tomh.org>
parents: 2194
diff changeset
    23
   - ssh code.nsnam.org; sudo tcsh; su code;
3280
25fbf06f9a56 plug more holes in release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3278
diff changeset
    24
   - cp -r /home/code/repos/ns-3-dev /home/code/repos/ns-3.1x
25fbf06f9a56 plug more holes in release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3278
diff changeset
    25
   - cd /home/code/repos/ns-3.1x/.hg and edit the hgrc appropriately:
25fbf06f9a56 plug more holes in release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3278
diff changeset
    26
     "description = ns-3.1x release
25fbf06f9a56 plug more holes in release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3278
diff changeset
    27
      name = ns-3.1x"
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    28
   - clone the ns-3-dev-ref-traces and place it on the repository as above
3289
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    29
     but use the name ns-3.1x-ref-traces and edit the hgrc appropriately
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    30
7. check out a clean version of the new release (ns-3.1x) somewhere
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    31
8. Update the VERSION for this new release
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    32
   - change the string 3-dev in the VERSION file to the real version 
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    33
     (e.g. 3.1)  This must agree with the version name you chose in the clone
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    34
     for the regression tests to work.
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    35
   - hg commit
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    36
   - hg push
3289
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    37
9. Run the regression tests on the new release (debug and optimized)
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    38
   - ./waf -d debug configure
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    39
   - ./waf
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    40
   - ./waf --regression
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    41
   - ./waf --valgrind --regression (for valgrind version)
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    42
   - ./waf -d optimized configure
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    43
   - ./waf
2891
aeca90b95bf5 nits for 3.0.12 release
Tom Henderson <tomh@tomh.org>
parents: 2865
diff changeset
    44
   - ./waf --regression
aeca90b95bf5 nits for 3.0.12 release
Tom Henderson <tomh@tomh.org>
parents: 2865
diff changeset
    45
   - ./waf --valgrind --regression (for valgrind version)
3194
79dba133b5f8 update RELEASE_NOTES and a few other files
Tom Henderson <tomh@tomh.org>
parents: 2892
diff changeset
    46
   - There should be no regression errors at this time
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    47
10. Create final tarballs
3289
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    48
   - ./waf configure; ./waf dist
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    49
   - this will create an ns-3.1x.tar.bz2 tarball
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    50
   - this will also create a ns-3.1x-ref-traces.tar.bz2 tarball
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    51
11. upload "ns-3.1x.tar.bz2" to the /var/www/html/releases/ directory on 
1789
39a56c382884 more detail in release_steps.txt
Tom Henderson <tomh@tomh.org>
parents: 1286
diff changeset
    52
   the www.nsnam.org server
2343
85959d329c8c a few tweaks to the release steps document
Tom Henderson <tomh@tomh.org>
parents: 2194
diff changeset
    53
   - give it 644 file permissions, and user/group = apache
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    54
12. upload "ns-3.1x-ref-traces.tar.bz2" to the /var/www/html/releases/ 
2865
d40eb18a4da0 Point regression tests to final locations, update release steps, bug 158
Craig Dowell <craigdo@ee.washington.edu>
parents: 2343
diff changeset
    55
   directory on the www.nsnam.org server
d40eb18a4da0 Point regression tests to final locations, update release steps, bug 158
Craig Dowell <craigdo@ee.washington.edu>
parents: 2343
diff changeset
    56
   - give it 644 file permissions, and user/group = apache
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    57
13. update web pages on www.nsnam.org (source is in the www/ module)
3278
3abce59c8bf8 fill in some blanks
Craig Dowell <craigdo@ee.washington.edu>
parents: 3194
diff changeset
    58
   - clone the source repo (hg clone http://code.nsnam.org/www)
776
34d5715456b3 release_steps.txt document
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    59
   - add link to news.html
1789
39a56c382884 more detail in release_steps.txt
Tom Henderson <tomh@tomh.org>
parents: 1286
diff changeset
    60
   - update getting_started.html
39a56c382884 more detail in release_steps.txt
Tom Henderson <tomh@tomh.org>
parents: 1286
diff changeset
    61
   - update documents.html
39a56c382884 more detail in release_steps.txt
Tom Henderson <tomh@tomh.org>
parents: 1286
diff changeset
    62
   - update roadmap on wiki
3278
3abce59c8bf8 fill in some blanks
Craig Dowell <craigdo@ee.washington.edu>
parents: 3194
diff changeset
    63
   - commit and push changes
3abce59c8bf8 fill in some blanks
Craig Dowell <craigdo@ee.washington.edu>
parents: 3194
diff changeset
    64
   - build and update HTML directory on the server
3abce59c8bf8 fill in some blanks
Craig Dowell <craigdo@ee.washington.edu>
parents: 3194
diff changeset
    65
     -- ssh www.nsnam.org; sudo tcsh; su nsnam;
3abce59c8bf8 fill in some blanks
Craig Dowell <craigdo@ee.washington.edu>
parents: 3194
diff changeset
    66
     -- run ~/bin/update-html
776
34d5715456b3 release_steps.txt document
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    67
   - build and update Doxygen directory on the server
2194
25bad6958d13 update release_steps.txt
Tom Henderson <tomh@tomh.org>
parents: 1797
diff changeset
    68
     -- edit ~/bin/update-doxygen-release file and change RELEASE variable 
25bad6958d13 update release_steps.txt
Tom Henderson <tomh@tomh.org>
parents: 1797
diff changeset
    69
        to the right version number 
25bad6958d13 update release_steps.txt
Tom Henderson <tomh@tomh.org>
parents: 1797
diff changeset
    70
     -- run ~/bin/update-doxygen-release
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    71
14. Final checks
3289
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    72
   - download tarball from web, build and run regression tests for as many
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    73
     targets as you can
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    74
   - download release from mercurial, build and run regression tests for as
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    75
     many targets as you can
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    76
   - test and verify until you're confident the release is solid.
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    77
15. announce to ns-developers, with summary of release notes