--- a/doc/release_steps.txt Wed Jun 18 10:39:30 2008 -0700
+++ b/doc/release_steps.txt Wed Jun 18 11:04:07 2008 -0700
@@ -1,46 +1,52 @@
Steps in doing an ns-3 release
-0. check out a clean ns-3-dev somewhere
-1. prepare the source files
+1. check out a clean ns-3-dev somewhere
+2. prepare the source files
- revise and check in AUTHORS, if needed
- revise and check in RELEASE_NOTES
- - update and check in VERSION to the latest release number
+ - DO NOT change VERSION at this time
- confirm that Doxygen builds cleanly and without warnings
(./waf check; ./waf --doxygen), and check in any necessary changes
- ensure no regressions (./waf --regression)
- - update the wscript in ns-3-dev to point REGRESSION_TRACES_TAR_NAME and
- REGRESSION_TRACES_DIR_NAME to the correct places.
-2. ./waf configure; ./waf dist
- - this will create a ns-3.1x.tar.bz2 tarball
- - this will also create a ns-3.1x-ref-traces.tar.bz2 tarball
-3. test tarball on release platforms (waf check and maybe some other scripts)
-4. once you are happy with the tarball, tag ns-3-dev with "release ns-3.0.X"
+3. ./waf configure; ./waf dist
+ - this will create an ns-3-dev.tar.bz2 tarball
+ - this will also create a ns-3-dev-ref-traces.tar.bz2 tarball
+4. test dev tarball on release platforms (waf check and maybe some other
+ scripts)
+5. once you are happy with the tarball, tag ns-3-dev and ns-3-dev-ref-traces
- hg tag "release ns-3.1x"
- hg push
-5. clone the tagged ns-3-dev and place it on the repository
+ - cd into regression/ns-3-dev-ref-traces
+ - hg tag "release ns-3.1x"
+ - hg push
+6. clone the tagged ns-3-dev and place it on the repository
- ssh code.nsnam.org; sudo tcsh; su code;
- cp -r /home/code/repos/ns-3-dev /home/code/repos/ns-3.1x
- cd /home/code/repos/ns-3.1x/.hg and edit the hgrc appropriately:
"description = ns-3.1x release
name = ns-3.1x"
-6. Run the regression tests on the new release and update the reference traces
+ - clone the ns-3-dev-ref-traces and place it on the repository as above
+ but use the name ns-3.1x-ref-traces
+7. check out a clean version of the new release (ns-3.1x) somewhere
+8. Update the VERSION for this new release
+ - change the string 3-dev in the VERSION file to the real version
+ (e.g. 3.1) This must agree with the version name you chose in the clone
+ for the regression tests to work.
+ - hg commit
+ - hg push
+9. Run the regression tests on the new release
- ./waf --regression
- ./waf --valgrind --regression (for valgrind version)
- There should be no regression errors at this time
- - tag ns-3-dev-ref-traces with "release ns-3.1X"
- hg tag "release ns-3.1x"
- hg push
- - clone the ns-3-dev-ref-traces and place it on the repository as in step
- 5 but use the name ns-3.1x-ref-traces
-7. Create a reference traces tarball
- - again, run "./waf dist"
-8. upload "ns-3.1x.tar.bz2" to the /var/www/html/releases/ directory on
+10. Create final tarballs
+ - run "./waf dist"
+11. upload "ns-3.1x.tar.bz2" to the /var/www/html/releases/ directory on
the www.nsnam.org server
- give it 644 file permissions, and user/group = apache
-9. upload "ns-3.1x-ref-traces.tar.bz2" to the /var/www/html/releases/
+12. upload "ns-3.1x-ref-traces.tar.bz2" to the /var/www/html/releases/
directory on the www.nsnam.org server
- give it 644 file permissions, and user/group = apache
-10. update web pages on www.nsnam.org (source is in the www/ module)
+13. update web pages on www.nsnam.org (source is in the www/ module)
- clone the source repo (hg clone http://code.nsnam.org/www)
- add link to news.html
- update getting_started.html
@@ -54,4 +60,9 @@
-- edit ~/bin/update-doxygen-release file and change RELEASE variable
to the right version number
-- run ~/bin/update-doxygen-release
-11. announce to ns-developers, with summary of release notes
+14. Final checks
+ - download tarball from web, build and run regression tests for as many
+ targets as you can
+ - download release from mercurial, build and run regression tests for as
+ many targets as you can
+15. announce to ns-developers, with summary of release notes