Files
unison/doc/release_steps.txt

119 lines
5.0 KiB
Plaintext
Raw Normal View History

2007-06-17 14:17:22 -07:00
Steps in doing an ns-3 release
2009-10-14 11:20:49 -07:00
1. check out a clean ns-3-dev somewhere using ns-3-allinone (you will need it)
2009-10-09 21:28:50 -07:00
- hg clone http://code.nsnam.org/ns-3-allinone
- ./download.py
- ./build.py
- confirm that the release builds cleanly.
2009-10-14 11:20:49 -07:00
- cd ns-3-dev
2009-10-09 21:28:50 -07:00
- ensure that tests pass (./test.py)
- ensure no regressions (./waf --regression)
2008-06-18 11:04:07 -07:00
2. prepare the source files
2007-06-17 14:17:22 -07:00
- revise and check in AUTHORS, if needed
2010-08-20 08:16:36 -07:00
- revise and check in RELEASE_NOTES. Make sure to add the Availability
section.
2008-06-18 11:04:07 -07:00
- DO NOT change VERSION at this time
2010-08-20 08:16:36 -07:00
- confirm that Doxygen builds cleanly (./waf doxygen),
and check in any necessary changes
2009-10-14 11:20:49 -07:00
3. build an ns-3-allinone distribution
- change back into the allinone directory
- ./dist.py
- this will create an ns-allinone-dev.tar.bz2 tarball
4. test dev tarball on release platforms
- ./test.py
- ./waf --regression
- other scripts you can think of
2008-06-18 11:04:07 -07:00
5. once you are happy with the tarball, tag ns-3-dev and ns-3-dev-ref-traces
2009-10-14 11:20:49 -07:00
- cd into ns-3-dev
2008-09-12 10:12:50 -07:00
- hg tag "ns-3.x"
2007-10-15 21:59:41 -07:00
- hg push
2009-10-14 11:20:49 -07:00
- cd into ns-3-dev-ref-traces
2008-09-12 10:12:50 -07:00
- hg tag "ns-3.x"
2008-06-18 11:04:07 -07:00
- hg push
6. clone the tagged ns-3-dev and place it on the repository
2009-10-14 11:20:49 -07:00
- ssh code.nsnam.org; sudo bash; su code;
2010-05-05 14:33:49 -04:00
- cp -r /home/code/repos/ns-3-dev /home/code/repos/ns-3.x
2008-09-12 10:12:50 -07:00
- cd /home/code/repos/ns-3.x/.hg and edit the hgrc appropriately:
"description = ns-3.x release
name = ns-3.x"
2008-06-18 11:04:07 -07:00
- clone the ns-3-dev-ref-traces and place it on the repository as above
2008-09-12 10:12:50 -07:00
but use the name ns-3.x-ref-traces and edit the hgrc appropriately
7. check out a clean version of the new release (ns-3.x) somewhere
2009-10-15 23:55:06 -07:00
- hg clone http://code.nsnam.org/ns-3.x
2008-06-18 11:04:07 -07:00
8. Update the VERSION for this new release
- change the string 3-dev in the VERSION file to the real version
2009-10-09 23:51:23 -07:00
(e.g. 3.7 or 3.7-RC1) This must agree with the version name you chose in the clone
2008-06-18 11:04:07 -07:00
for the regression tests to work.
2009-10-15 23:55:06 -07:00
- hg commit -m "update VERSION to ns-3.x"
- hg push ssh://code@code.nsnam.org//home/code/repos/ns-3.x
2009-10-09 21:49:47 -07:00
9. Run the tests on the new release (debug and optimized) like a user would
2009-10-09 23:51:23 -07:00
You need to use ns-3-allinone since you will use that to make the distro
2010-05-05 14:33:49 -04:00
- hg clone http://code.nsnam.org/ns-3-allinone ns-3-allinone-3.x-test
2009-10-15 23:55:06 -07:00
- cd !$
2009-10-09 21:49:47 -07:00
- ./download.py -n ns-3.x -r ns-3.x-ref-traces
- ./build.py
2009-10-09 23:51:23 -07:00
- cd ns-3.x
2009-10-09 21:28:50 -07:00
- ./test.py
- ./test.py -g
2008-06-18 11:57:43 -07:00
- ./waf --regression
- ./waf --valgrind --regression (for valgrind version)
- ./waf -d optimized configure
- ./waf
2009-10-09 21:28:50 -07:00
- ./test.py
- ./test.py -g
2008-04-07 21:07:38 -07:00
- ./waf --regression
- ./waf --valgrind --regression (for valgrind version)
- There should be no regression errors at this time
2008-06-18 11:04:07 -07:00
10. Create final tarballs
2010-05-05 14:33:49 -04:00
You need to work with a clean ns-3-allinone-3.x directory
- hg clone http://code.nsnam.org/ns-3-allinone ns-3-allinone-3.x
- cd !$
- ./download.py -n ns-3.x -r ns-3.x-ref-traces
2009-10-09 23:51:23 -07:00
- ./dist.py
2010-05-05 14:33:49 -04:00
- notice we did not build here
2009-10-09 23:51:23 -07:00
- this will create an ns-allinone-3.x.tar.bz2 tarball
11. upload "ns-allinone-3.x.tar.bz2" to the /var/www/html/releases/ directory on
2007-10-15 21:59:41 -07:00
the www.nsnam.org server
2009-10-09 23:51:23 -07:00
- scp ns-allinone-3.x.tar.bz2 www.nsnam.org:~
- ssh www.nsnam.org
- sudo cp ns-allinone-3.x.tar.bz2 /var/www/html/releases
- cd !$
12. give it 644 file permissions, and user/group = apache if it is not already
- sudo chown apache:apache ns-allinone-3.x.tar.bz2
- sudo chmod 644 ns-allinone-3.x.tar.bz2
2008-06-18 11:04:07 -07:00
13. update web pages on www.nsnam.org (source is in the www/ module)
2008-06-17 11:53:20 -07:00
- clone the source repo (hg clone http://code.nsnam.org/www)
2009-10-14 11:20:49 -07:00
- update references to releases in html_src
(consider "grep 'ns-3\.' *.html" for a new release)
(consider "grep 'RCx' *.html" for a new RC)
- update references to releases in scripts/
2007-10-15 21:59:41 -07:00
- update roadmap on wiki
2008-06-17 11:53:20 -07:00
- commit and push changes
2009-10-14 11:20:49 -07:00
14. update the server
2008-06-17 11:53:20 -07:00
- build and update HTML directory on the server
2009-10-14 11:20:49 -07:00
-- ssh www.nsnam.org; sudo bash; su nsnam;
2008-06-17 11:53:20 -07:00
-- run ~/bin/update-html
- build and update Doxygen directory on the server
2007-12-15 15:08:30 -08:00
-- edit ~/bin/update-doxygen-release file and change RELEASE variable
to the right version number
-- run ~/bin/update-doxygen-release
2010-04-21 15:59:25 -04:00
15. build release documentation
- if this is final release (not RC)
-- archive old release documentation in /var/www/html/docs/release
by creating release specific folder and moving current
documenation into this folder
-- from ns-3.x/doc, enter manual/ testing/ and tutorial directories
and build the documentation using make
-- copy this newly created documentation into
/var/www/html/docs/release making sure to copy only the
necessary files
16. Final checks
- check manual, testing, and tutorial documentation links
2008-06-18 11:57:43 -07:00
- 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
- test and verify until you're confident the release is solid.
2010-04-21 15:59:25 -04:00
17. announce to ns-developers, with summary of release notes