Steps in doing an ns-3 release
0. check out a clean ns-3-dev somewhere
1. 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
- confirm that Doxygen builds cleanly and without warnings
(./waf check; ./waf --doxygen), and check in any necessary changes
2. ./waf configure; ./waf dist
- this will create a ns-3.0.x.tar.bz2 tarball
- this will also create a ns-3.0.x-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"
- hg tag "release ns-3.0.x"
- hg push
5. 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.0.x
- cd /home/code/repos/ns-3.0.x/.hg and edit the hgrc appropriately:
"description = ns-3.0.x release
name = ns-3.0.x"
6. Run the regression tests on the new release and update the reference traces
- ./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.0.X"
hg tag "release ns-3.0.x"
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.0.x-ref-traces
7. Create a reference traces tarball
- again, run "./waf dist"
8. upload "ns-3.0.x.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.0.x-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)
- add link to news.html
- update getting_started.html
- update documents.html
- update roadmap on wiki
- build and update Doxygen directory on the server
-- ssh www.nsnam.org; sudo tcsh; su nsnam;
-- 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