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-- |
776 | 1 |
Steps in doing an ns-3 release |
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 | 12 |
- revise and check in AUTHORS, if needed |
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 | 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 | 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 | 64 |
- ./waf --regression |
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 | 68 |
You need to work with a clean ns-3-allinone-3.x directory |
69 |
- hg clone http://code.nsnam.org/ns-3-allinone ns-3-allinone-3.x |
|
70 |
- cd !$ |
|
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 | 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 | 96 |
- build and update Doxygen directory on the server |
2194 | 97 |
-- edit ~/bin/update-doxygen-release file and change RELEASE variable |
98 |
to the right version number |
|
99 |
-- run ~/bin/update-doxygen-release |
|
6264 | 100 |
15. build release documentation |
101 |
- if this is final release (not RC) |
|
102 |
-- archive old release documentation in /var/www/html/docs/release |
|
103 |
by creating release specific folder and moving current |
|
104 |
documenation into this folder |
|
105 |
-- from ns-3.x/doc, enter manual/ testing/ and tutorial directories |
|
106 |
and build the documentation using make |
|
107 |
-- copy this newly created documentation into |
|
108 |
/var/www/html/docs/release making sure to copy only the |
|
109 |
necessary files |
|
110 |
16. Final checks |
|
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 | 117 |
17. announce to ns-developers, with summary of release notes |