doc/release_steps.txt
changeset 6624 a071889af159
parent 6586 8ddf25211f89
child 6998 1c2b8cfb71d2
equal deleted inserted replaced
6623:616d42c69f05 6624:a071889af159
     5    - ./download.py
     5    - ./download.py
     6    - ./build.py
     6    - ./build.py
     7    - confirm that the release builds cleanly.
     7    - confirm that the release builds cleanly.
     8    - cd ns-3-dev
     8    - cd ns-3-dev
     9    - ensure that tests pass (./test.py)
     9    - ensure that tests pass (./test.py)
    10    - ensure no regressions (./waf --regression)
       
    11 2. prepare the source files
    10 2. prepare the source files
    12    - revise and check in AUTHORS, if needed
    11    - revise and check in AUTHORS, if needed
    13    - revise and check in RELEASE_NOTES.  Make sure to add the Availability 
    12    - revise and check in RELEASE_NOTES.  Make sure to add the Availability 
    14      section.
    13      section.
    15    - DO NOT change VERSION at this time
    14    - DO NOT change VERSION at this time
    19    - change back into the allinone directory
    18    - change back into the allinone directory
    20    - ./dist.py
    19    - ./dist.py
    21    - this will create an ns-allinone-dev.tar.bz2 tarball
    20    - this will create an ns-allinone-dev.tar.bz2 tarball
    22 4. test dev tarball on release platforms 
    21 4. test dev tarball on release platforms 
    23    - ./test.py 
    22    - ./test.py 
    24    - ./waf --regression
       
    25    - other scripts you can think of
    23    - other scripts you can think of
    26 5. once you are happy with the tarball, tag ns-3-dev and ns-3-dev-ref-traces
    24 5. once you are happy with the tarball and tag ns-3-dev
    27    - cd into ns-3-dev
    25    - cd into ns-3-dev
    28    - hg tag "ns-3.x"
       
    29    - hg push 
       
    30    - cd into ns-3-dev-ref-traces
       
    31    - hg tag "ns-3.x"
    26    - hg tag "ns-3.x"
    32    - hg push 
    27    - hg push 
    33 6. clone the tagged ns-3-dev and place it on the repository
    28 6. clone the tagged ns-3-dev and place it on the repository
    34    - ssh code.nsnam.org; sudo bash; su code;
    29    - ssh code.nsnam.org; sudo bash; su code;
    35    - cp -r /home/code/repos/ns-3-dev /home/code/repos/ns-3.x
    30    - cp -r /home/code/repos/ns-3-dev /home/code/repos/ns-3.x
    36    - cd /home/code/repos/ns-3.x/.hg and edit the hgrc appropriately:
    31    - cd /home/code/repos/ns-3.x/.hg and edit the hgrc appropriately:
    37      "description = ns-3.x release
    32      "description = ns-3.x release
    38       name = ns-3.x"
    33       name = ns-3.x"
    39    - clone the ns-3-dev-ref-traces and place it on the repository as above
       
    40      but use the name ns-3.x-ref-traces and edit the hgrc appropriately
       
    41 7. check out a clean version of the new release (ns-3.x) somewhere
    34 7. check out a clean version of the new release (ns-3.x) somewhere
    42    - hg clone http://code.nsnam.org/ns-3.x
    35    - hg clone http://code.nsnam.org/ns-3.x
    43 8. Update the VERSION for this new release
    36 8. Update the VERSION for this new release
    44    - change the string 3-dev in the VERSION file to the real version 
    37    - change the string 3-dev in the VERSION file to the real version 
    45      (e.g. 3.7 or 3.7-RC1)  This must agree with the version name you chose in the clone
    38      (e.g. 3.7 or 3.7-RC1)  This must agree with the version name you chose in the clone.
    46      for the regression tests to work.
       
    47    - hg commit -m "update VERSION to ns-3.x"
    39    - hg commit -m "update VERSION to ns-3.x"
    48    - hg push ssh://code@code.nsnam.org//home/code/repos/ns-3.x
    40    - hg push ssh://code@code.nsnam.org//home/code/repos/ns-3.x
    49 
    41 
    50 9. Run the tests on the new release (debug and optimized) like a user would
    42 9. Run the tests on the new release (debug and optimized) like a user would
    51    You need to use ns-3-allinone since you will use that to make the distro
    43    You need to use ns-3-allinone since you will use that to make the distro
    52    - hg clone http://code.nsnam.org/ns-3-allinone ns-3-allinone-3.x-test
    44    - hg clone http://code.nsnam.org/ns-3-allinone ns-3-allinone-3.x-test
    53    - cd !$
    45    - cd !$
    54    - ./download.py -n ns-3.x -r ns-3.x-ref-traces
    46    - ./download.py -n ns-3.x
    55    - ./build.py
    47    - ./build.py
    56    - cd ns-3.x
    48    - cd ns-3.x
    57    - ./test.py
    49    - ./test.py
    58    - ./test.py -g
    50    - ./test.py -g
    59    - ./waf --regression
       
    60    - ./waf --valgrind --regression (for valgrind version)
       
    61    - ./waf -d optimized configure
    51    - ./waf -d optimized configure
    62    - ./waf
    52    - ./waf
    63    - ./test.py
    53    - ./test.py
    64    - ./test.py -g
    54    - ./test.py -g
    65    - ./waf --regression
    55    - There should be no test errors at this time
    66    - ./waf --valgrind --regression (for valgrind version)
       
    67    - There should be no regression errors at this time
       
    68 10. Create final tarballs
    56 10. Create final tarballs
    69     You need to work with a clean ns-3-allinone-3.x directory
    57     You need to work with a clean ns-3-allinone-3.x directory
    70    - hg clone http://code.nsnam.org/ns-3-allinone ns-3-allinone-3.x
    58    - hg clone http://code.nsnam.org/ns-3-allinone ns-3-allinone-3.x
    71    - cd !$
    59    - cd !$
    72    - ./download.py -n ns-3.x -r ns-3.x-ref-traces
    60    - ./download.py -n ns-3.x
    73    - ./dist.py
    61    - ./dist.py
    74    - notice we did not build here
    62    - notice we did not build here
    75    - this will create an ns-allinone-3.x.tar.bz2 tarball
    63    - this will create an ns-allinone-3.x.tar.bz2 tarball
    76 11. upload "ns-allinone-3.x.tar.bz2" to the /var/www/html/releases/ directory on 
    64 11. upload "ns-allinone-3.x.tar.bz2" to the /var/www/html/releases/ directory on 
    77    the www.nsnam.org server
    65    the www.nsnam.org server
   108      -- copy this newly created documentation into 
    96      -- copy this newly created documentation into 
   109         /var/www/html/docs/release making sure to copy only the 
    97         /var/www/html/docs/release making sure to copy only the 
   110         necessary files
    98         necessary files
   111 16. Final checks
    99 16. Final checks
   112    - check manual, testing, and tutorial documentation links
   100    - check manual, testing, and tutorial documentation links
   113    - download tarball from web, build and run regression tests for as many
   101    - download tarball from web, build and run tests for as many
   114      targets as you can
   102      targets as you can
   115    - download release from mercurial, build and run regression tests for as
   103    - download release from mercurial, build and run tests for as
   116      many targets as you can
   104      many targets as you can
   117    - test and verify until you're confident the release is solid.
   105    - test and verify until you're confident the release is solid.
   118 17. announce to ns-developers, with summary of release notes
   106 17. announce to ns-developers, with summary of release notes