-
Notifications
You must be signed in to change notification settings - Fork 2
/
ReleaseProcess.txt
137 lines (106 loc) · 4.32 KB
/
ReleaseProcess.txt
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
This file tries to describe the current CERTI release process.
Current version is written for a CERTI administrator
and may certainly be only readable for them.
Note:
We were using CVS until CERTI 3.4.2 (included)
we now use GIT. CERTI 3.4.3 being the first release
using GIT.
CERTI releases should be done with the following steps:
1) Announce release freeze on certi-devel
and check for no-go message
2) Review currently opened and fixed bug/task in the tracker
Bugs:
https://savannah.nongnu.org/bugs/?group=certi
- check if fixed bugs are really in GIT and
switch status
from ReadyToTest to Done
from Open to Closed
check the Release version.
Patches:
https://savannah.nongnu.org/patch/?group=certi
- check those which are "Ready For Test"
switch status
from ReadyForTest to Done
from Open to Closed
Tasks:
https://savannah.nongnu.org/task/?group=certi
- checked Done or ReadyToTest tasks
close them and fix the Release.
3) Edit certi/CMakeLists.txt
and bump the version to the right number with
[example for certi-3.4.3]
SET(PACKAGE_VERSION_MAJOR "3")
SET(PACKAGE_VERSION_MINOR "4")
SET(PACKAGE_VERSION_PATCH "3")
4) commit the modified files
certi/CMakeLists.txt
with a meaningful comment saying you are preparing a CERTI version
5) Do a fresh checkout somewhere
Build certi from your pristine source tree
git clone git://git.savannah.nongnu.org/certi.git
Better is at least 2 built:
Linux ix86 wth gcc (32bits)
Windows win32 with Visual Studio
and/or Code::Blocks (http://www.codeblocks.org/)
and/or MinGW (http://mingw-w64.sourceforge.net)+Eclipse CDT
6) Run autotests :))
Which means for today run as many tests as you can do
- billard
- HLA Tutorial
- HLA TestsSuite
All those tests do have an associated dtest scripts.
see for example certi/tests/Billard/dtest_billard.py
or HLA_TestsSuite/dtest_*.py
7) Tag certi tree with appropriate version
git tag -a CERTI-3_4_3 -m "CERTI Release 3.4.3"
Generate the Changelog file using git log command like:
git log --format="%ai %an%n%n%x09*%w(79,1,10)%s%d%n"
You may even store this git log format using:
git config --global pretty.gnucl "%ai %an%n%n%x09*%w(79,1,10)%s%d%n"
then use:
git log --format=gnucl
For example updating Changelog for CERTI 3.4.2 to 3.4.3 will be done
using the following command:
cd /path/to/certi
git --no-pager log CERTI-3_4_2..CERTI-3_4_3 --format="%ai %an%n%n%x09*%w(79,1,10)%s %d%n" >> ChangeLog
commit the ChangeLog file
git add ChangeLog
git commit -m "Update ChangeLog for CERTI Release 3.4.3"
force the tag on it:
git tag -a -f CERTI-3_4_3 -m "CERTI Release 3.4.3"
forward the change to Savannah
git push
git push --tags
8) Make certi packages using cpack
- tar.gz (sources) [mandatory]
make package_source
- RPM (sources and binaries) [optional]
cpack -G RPM
- Win32 NSIS binary installer [recommended]
cpack -G NSIS
9) Tests your packages or ask for help to test them
on certi-devel
Fix packaging trouble if any and move the previous tag
if any commit occurred.
10) Digitally sign the packages you made and put them
in the download area:
https://savannah.gnu.org/maintenance/DownloadArea
gpg -b certi-3.4.3.tar.gz
scp certi-3.4.3.tar.gz* <user>@dl.sv.nongnu.org:/releases/certi/
11) Check if the download area has been properly updated
http://download.savannah.nongnu.org/releases/certi/
Beware the automatic mirror selection, go to
the "noredirect" link:
http://download.savannah.gnu.org/releases-noredirect/certi/
Or look at the mirror monitoring:
http://download.savannah.gnu.org/mirmon/
12) Post the appropriate news on Savannah CERTI pages
https://savannah.nongnu.org/news/submit.php?group=certi
DON'T MAIL to certi-devel since news are
automagically forwarded to appropriate ML
Remember that once you have posted the news you should
approve it before it appears on first page.
13) OPTIONALLY update online CERTI documentation at
http://www.nongnu.org/certi
You are right this process IS painful and should be automated (a lot...)
be sure we are working on it :))