doc/release_steps.txt
author Josh Pelkey <jpelkey@gatech.edu>
Wed, 11 Aug 2010 11:37:37 -0400
changeset 6553 fb5ad9c7755a
parent 6287 f511655db5a6
child 6586 8ddf25211f89
permissions -rw-r--r--
update release notes and fix doxygen warnings
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
5419
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
     3
1. check out a clean ns-3-dev somewhere using ns-3-allinone (you will need it)
5408
549243b47311 Update release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 4534
diff changeset
     4
   - hg clone http://code.nsnam.org/ns-3-allinone
549243b47311 Update release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 4534
diff changeset
     5
   - ./download.py
549243b47311 Update release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 4534
diff changeset
     6
   - ./build.py
549243b47311 Update release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 4534
diff changeset
     7
   - confirm that the release builds cleanly.
5419
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
     8
   - cd ns-3-dev
5408
549243b47311 Update release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 4534
diff changeset
     9
   - ensure that tests pass (./test.py)
549243b47311 Update release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 4534
diff changeset
    10
   - ensure no regressions (./waf --regression)
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    11
2. prepare the source files
776
34d5715456b3 release_steps.txt document
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    12
   - revise and check in AUTHORS, if needed
34d5715456b3 release_steps.txt document
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    13
   - revise and check in RELEASE_NOTES
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    14
   - 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
    15
   - confirm that Doxygen builds cleanly and without warnings
5408
549243b47311 Update release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 4534
diff changeset
    16
     (./waf doxygen), and check in any necessary changes 
5419
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
    17
3. build an ns-3-allinone distribution
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
    18
   - change back into the allinone directory
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
    19
   - ./dist.py
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
    20
   - this will create an ns-allinone-dev.tar.bz2 tarball
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
    21
4. test dev tarball on release platforms 
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
    22
   - ./test.py 
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
    23
   - ./waf --regression
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
    24
   - other scripts you can think of
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    25
5. once you are happy with the tarball, tag ns-3-dev and ns-3-dev-ref-traces
5419
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
    26
   - cd into ns-3-dev
3683
05797303259b release_steps.txt nits
Craig Dowell <craigdo@ee.washington.edu>
parents: 3358
diff changeset
    27
   - hg tag "ns-3.x"
1789
39a56c382884 more detail in release_steps.txt
Tom Henderson <tomh@tomh.org>
parents: 1286
diff changeset
    28
   - hg push 
5419
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
    29
   - cd into ns-3-dev-ref-traces
3683
05797303259b release_steps.txt nits
Craig Dowell <craigdo@ee.washington.edu>
parents: 3358
diff changeset
    30
   - hg tag "ns-3.x"
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    31
   - hg push 
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    32
6. clone the tagged ns-3-dev and place it on the repository
5419
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
    33
   - ssh code.nsnam.org; sudo bash; su code;
6287
f511655db5a6 update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 6264
diff changeset
    34
   - cp -r /home/code/repos/ns-3-dev /home/code/repos/ns-3.x
3683
05797303259b release_steps.txt nits
Craig Dowell <craigdo@ee.washington.edu>
parents: 3358
diff changeset
    35
   - cd /home/code/repos/ns-3.x/.hg and edit the hgrc appropriately:
05797303259b release_steps.txt nits
Craig Dowell <craigdo@ee.washington.edu>
parents: 3358
diff changeset
    36
     "description = ns-3.x release
05797303259b release_steps.txt nits
Craig Dowell <craigdo@ee.washington.edu>
parents: 3358
diff changeset
    37
      name = ns-3.x"
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    38
   - clone the ns-3-dev-ref-traces and place it on the repository as above
3683
05797303259b release_steps.txt nits
Craig Dowell <craigdo@ee.washington.edu>
parents: 3358
diff changeset
    39
     but use the name ns-3.x-ref-traces and edit the hgrc appropriately
05797303259b release_steps.txt nits
Craig Dowell <craigdo@ee.washington.edu>
parents: 3358
diff changeset
    40
7. check out a clean version of the new release (ns-3.x) somewhere
5425
7b6a845c956f release steps tweaks
Craig Dowell <craigdo@ee.washington.edu>
parents: 5419
diff changeset
    41
   - hg clone http://code.nsnam.org/ns-3.x
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    42
8. Update the VERSION for this new release
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    43
   - change the string 3-dev in the VERSION file to the real version 
5411
2e293c541a03 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5410
diff changeset
    44
     (e.g. 3.7 or 3.7-RC1)  This must agree with the version name you chose in the clone
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    45
     for the regression tests to work.
5425
7b6a845c956f release steps tweaks
Craig Dowell <craigdo@ee.washington.edu>
parents: 5419
diff changeset
    46
   - hg commit -m "update VERSION to ns-3.x"
7b6a845c956f release steps tweaks
Craig Dowell <craigdo@ee.washington.edu>
parents: 5419
diff changeset
    47
   - hg push ssh://code@code.nsnam.org//home/code/repos/ns-3.x
7b6a845c956f release steps tweaks
Craig Dowell <craigdo@ee.washington.edu>
parents: 5419
diff changeset
    48
5410
ef3a32c6e1e1 release steps tweaks
Craig Dowell <craigdo@ee.washington.edu>
parents: 5408
diff changeset
    49
9. Run the tests on the new release (debug and optimized) like a user would
5411
2e293c541a03 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5410
diff changeset
    50
   You need to use ns-3-allinone since you will use that to make the distro
6287
f511655db5a6 update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 6264
diff changeset
    51
   - hg clone http://code.nsnam.org/ns-3-allinone ns-3-allinone-3.x-test
5425
7b6a845c956f release steps tweaks
Craig Dowell <craigdo@ee.washington.edu>
parents: 5419
diff changeset
    52
   - cd !$
5410
ef3a32c6e1e1 release steps tweaks
Craig Dowell <craigdo@ee.washington.edu>
parents: 5408
diff changeset
    53
   - ./download.py -n ns-3.x -r ns-3.x-ref-traces
ef3a32c6e1e1 release steps tweaks
Craig Dowell <craigdo@ee.washington.edu>
parents: 5408
diff changeset
    54
   - ./build.py
5411
2e293c541a03 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5410
diff changeset
    55
   - cd ns-3.x
5408
549243b47311 Update release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 4534
diff changeset
    56
   - ./test.py
549243b47311 Update release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 4534
diff changeset
    57
   - ./test.py -g
3289
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    58
   - ./waf --regression
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    59
   - ./waf --valgrind --regression (for valgrind version)
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    60
   - ./waf -d optimized configure
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
    61
   - ./waf
5408
549243b47311 Update release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 4534
diff changeset
    62
   - ./test.py
549243b47311 Update release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 4534
diff changeset
    63
   - ./test.py -g
2891
aeca90b95bf5 nits for 3.0.12 release
Tom Henderson <tomh@tomh.org>
parents: 2865
diff changeset
    64
   - ./waf --regression
aeca90b95bf5 nits for 3.0.12 release
Tom Henderson <tomh@tomh.org>
parents: 2865
diff changeset
    65
   - ./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
    66
   - There should be no regression errors at this time
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    67
10. Create final tarballs
6287
f511655db5a6 update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 6264
diff changeset
    68
    You need to work with a clean ns-3-allinone-3.x directory
f511655db5a6 update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 6264
diff changeset
    69
   - hg clone http://code.nsnam.org/ns-3-allinone ns-3-allinone-3.x
f511655db5a6 update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 6264
diff changeset
    70
   - cd !$
f511655db5a6 update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 6264
diff changeset
    71
   - ./download.py -n ns-3.x -r ns-3.x-ref-traces
5411
2e293c541a03 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5410
diff changeset
    72
   - ./dist.py
6287
f511655db5a6 update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 6264
diff changeset
    73
   - notice we did not build here
5411
2e293c541a03 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5410
diff changeset
    74
   - this will create an ns-allinone-3.x.tar.bz2 tarball
2e293c541a03 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5410
diff changeset
    75
11. upload "ns-allinone-3.x.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
    76
   the www.nsnam.org server
5411
2e293c541a03 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5410
diff changeset
    77
   - scp ns-allinone-3.x.tar.bz2 www.nsnam.org:~
2e293c541a03 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5410
diff changeset
    78
   - ssh www.nsnam.org
2e293c541a03 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5410
diff changeset
    79
   - sudo cp ns-allinone-3.x.tar.bz2 /var/www/html/releases
2e293c541a03 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5410
diff changeset
    80
   - cd !$
2e293c541a03 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5410
diff changeset
    81
12. give it 644 file permissions, and user/group = apache if it is not already
2e293c541a03 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5410
diff changeset
    82
   - sudo chown apache:apache ns-allinone-3.x.tar.bz2
2e293c541a03 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5410
diff changeset
    83
   - sudo chmod 644 ns-allinone-3.x.tar.bz2
3288
8a4b9d15ff04 tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 3280
diff changeset
    84
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
    85
   - clone the source repo (hg clone http://code.nsnam.org/www)
5419
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
    86
   - update references to releases in html_src 
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
    87
     (consider "grep 'ns-3\.' *.html" for a new release)
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
    88
     (consider "grep 'RCx' *.html" for a new RC)
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
    89
   - update references to releases in scripts/
1789
39a56c382884 more detail in release_steps.txt
Tom Henderson <tomh@tomh.org>
parents: 1286
diff changeset
    90
   - update roadmap on wiki
3278
3abce59c8bf8 fill in some blanks
Craig Dowell <craigdo@ee.washington.edu>
parents: 3194
diff changeset
    91
   - commit and push changes
5419
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
    92
14. update the server
3278
3abce59c8bf8 fill in some blanks
Craig Dowell <craigdo@ee.washington.edu>
parents: 3194
diff changeset
    93
   - build and update HTML directory on the server
5419
f54e261e92ed tweak release steps
Craig Dowell <craigdo@ee.washington.edu>
parents: 5411
diff changeset
    94
     -- ssh www.nsnam.org; sudo bash; su nsnam;
3278
3abce59c8bf8 fill in some blanks
Craig Dowell <craigdo@ee.washington.edu>
parents: 3194
diff changeset
    95
     -- run ~/bin/update-html
776
34d5715456b3 release_steps.txt document
Tom Henderson <tomh@tomh.org>
parents:
diff changeset
    96
   - build and update Doxygen directory on the server
2194
25bad6958d13 update release_steps.txt
Tom Henderson <tomh@tomh.org>
parents: 1797
diff changeset
    97
     -- edit ~/bin/update-doxygen-release file and change RELEASE variable 
25bad6958d13 update release_steps.txt
Tom Henderson <tomh@tomh.org>
parents: 1797
diff changeset
    98
        to the right version number 
25bad6958d13 update release_steps.txt
Tom Henderson <tomh@tomh.org>
parents: 1797
diff changeset
    99
     -- run ~/bin/update-doxygen-release
6264
3489bfd795ab update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 5425
diff changeset
   100
15. build release documentation
3489bfd795ab update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 5425
diff changeset
   101
   - if this is final release (not RC)
3489bfd795ab update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 5425
diff changeset
   102
     -- archive old release documentation in /var/www/html/docs/release 
3489bfd795ab update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 5425
diff changeset
   103
        by creating release specific folder and moving current 
3489bfd795ab update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 5425
diff changeset
   104
        documenation into this folder
3489bfd795ab update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 5425
diff changeset
   105
     -- from ns-3.x/doc, enter manual/ testing/ and tutorial directories 
3489bfd795ab update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 5425
diff changeset
   106
        and build the documentation using make
3489bfd795ab update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 5425
diff changeset
   107
     -- copy this newly created documentation into 
3489bfd795ab update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 5425
diff changeset
   108
        /var/www/html/docs/release making sure to copy only the 
3489bfd795ab update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 5425
diff changeset
   109
        necessary files
3489bfd795ab update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 5425
diff changeset
   110
16. Final checks
3489bfd795ab update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 5425
diff changeset
   111
   - check manual, testing, and tutorial documentation links
3289
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
   112
   - 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
   113
     targets as you can
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
   114
   - 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
   115
     many targets as you can
bd7baccf47a3 tweaks after actually doing it
Craig Dowell <craigdo@ee.washington.edu>
parents: 3288
diff changeset
   116
   - test and verify until you're confident the release is solid.
6264
3489bfd795ab update release steps
Josh Pelkey <jpelkey@gatech.edu>
parents: 5425
diff changeset
   117
17. announce to ns-developers, with summary of release notes