]> git.sur5r.net Git - bacula/bacula/blob - bacula/release/ReleaseProcedure.txt
Tweak some comments and formatting.
[bacula/bacula] / bacula / release / ReleaseProcedure.txt
1
2 These are the steps to complete for making a new release.
3
4 1. Ensure that the previous release had a tag pushed. If
5    not create one at the prior release point and push it
6    to the repos.
7    git push <remote> tag <tag-name>
8
9 2. Update the ChangeLog using release/git2changelog.pl Release-5.2.x..HEAD >1
10
11 3. Edit 1 into ChangeLog ensuring to mark the previous release
12    Version number prior to adding the new ChangeLog output.
13
14 4. Edit the ReleaseNotes. Be sure not to change anything in the
15    prior version (typos are OK).  This sometimes means duplicating
16    text, but it is far better to have a complete history.
17    Terminate the previous release with a line of all =====,
18    and ensure that the previous release version is properly
19    defined.  Then add the new release section.  Point out
20    the need to review prior releases if changing major versions.
21
22 5. Update the version and date.
23
24 6. Update the po files (cd po; make update-po).  Correct any
25    problems and re-run until correct.
26
27 7. Update the docs. Make sure they have the correct date, and
28    that the new docs are uploaded to bacula.org
29
30 8. Make sure everything is pushed including the docs.
31
32 9. Diff the prior version against the current one:
33     git diff Release-5.2.1..HEAD >diff (where 5.2.1 is the prior)
34    and check for debug messages that have level zero, new text
35    in non-debug messages that is not setup for translation.
36
37 10. Run a full regression test (./nightly-all) on as many
38    platforms as possible.
39
40 11. Check the CDash Bacula output pages to make sure there are
41     no overlooked problems.
42
43 12. Cut the release (i.e. make the .tar.gz files) by copying
44    the release directory out of the build tree, ensuring that
45    your config file is properly set, and that your signing
46    key is properly setup, and running the ./makeall script.
47
48 13. Ensure that the Windows builds were done properly.
49
50 14. detar the main bacula source release
51
52 15. Run a regression on the detared file (ensures that all files
53     are actually in the tar and that it is not corrupt).
54
55 16. push the tags (once pushed they can be corrected but it is more
56     complicated than simply re-running the ./makeall script)
57     ./pushtags   which does in all repos
58
59      git push <remote> tag <tag-name>
60
61 17. Upload the release files to Source Forge.
62
63 18. Update the release version and date on the main bacula.org page
64
65 19. Update the news item to announce the release.
66
67 20. Send the release announcement to the users, devel, and announce 
68     mailing lists.
69
70 21. Update the link to the release version in the "Current Release" 
71     in the menu (inc/header.php).