Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
####################################################
#
# Short Howto for preparing a new DD4hep release
#
# F.Gaede, DESY
# Aug 2014
####################################################
-------------------------------------------------------------------------------
1. before preparing a release make sure all components compile on
the usual OSs
- additional information is provided by the Nightly Builds run
at DESY (currently for SL5, SL6 and Ubuntu 12.04)
-------------------------------------------------------------------------------
2. ensure the basic functionality:
- build w/ -D BUILD_TESTING=1
- run
make test
in the build directory
- manually run some standard binaries (tevedisplay, tgeoconverter,....)
=> note: here we need some more standardaized way of running tests
or at least more tests added to CTest/CMakeList.txt
-------------------------------------------------------------------------------
3. prepare the release notes for the next release, i.e.
edit ./doc/release.notes accordingly,
start with the new version number e.g.:
--------
| v00-09 | nineth beta release ...
--------
- use 'svn -v log | less' to check for all committs since
last release tag
-------------------------------------------------------------------------------
4. increase the software version (using the same version) in
CMakeList.txt
DDSegmentation/CMakeList.txt
- increase the patch level for patch releases with minor bug fixes only
-> the libraries should be compatible with the previous release
-> typically this is the case when no header files have been changed, i.e.
the class structure/layout is unchanged and no new functions have been added
- increase the minor level for most normal releases that add
new features and functionality (including bug fixes)
- increase the major level for releases with 'major' new features
or incompatible API, etc.
-------------------------------------------------------------------------------
5. commit your changes to the trunk
svn ci
-------------------------------------------------------------------------------
6. create a pre-release branch using the release version
appended with '-pre' or '-preXY' (XY = 01, 02, 03, ....), e.g.
svn cp https://svnsrv.desy.de/desy/aidasoft/DD4hep/trunk https://svnsrv.desy.de/desy/aidasoft/DD4hep/branches/v00-09-pre01
-------------------------------------------------------------------------------
7. use the pre-release version for final integration tests and
debugging and then
iterate steps 5. and 6. until everything is fine
-------------------------------------------------------------------------------
8. make the final release tag from the last pre-release version, e.g. v00-09-pre07 :
svn mv https://svnsrv.desy.de/desy/aidasoft/DD4hep/branches/v00-09-pre07 https://svnsrv.desy.de/desy/aidasoft/DD4hep/tags/v00-09
-------------------------------------------------------------------------------
9. announce the new release - by sending email to
dd4hep-developers@cern.ch
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------