Fossil SCM

fossil-scm / test / release-checklist.wiki
1
<title>Release Checklist</title>
2
3
This file describes the testing procedures for Fossil prior to an
4
official release.
5
6
<ol>
7
<li><p>
8
From within a checkout of the Fossil tree, display this file with
9
the command "<b>fossil ui --page doc/ckout/test/release-checklist.wiki</b>".
10
That is the only way the links below will work.
11
12
<li><p>
13
From a private directory (not the source tree) run
14
"<b>tclsh $SRC/test/tester.tcl $FOSSIL</b>" where $FOSSIL is the
15
name of the executable under test and $SRC is the source tree.
16
Verify that there are no errors.
17
18
<li><p>
19
Click on each of the links in in the
20
[./graph-test-1.wiki] document and verify that all graphs are
21
rendered correctly.
22
23
<li><p>
24
Click on each of the links in in the
25
[./graph-test-2.md] document and verify that all graphs are
26
rendered correctly.
27
<ol type="a">
28
<li> Also view the same check-ins on a /timeline
29
view by clicking on the date for each check-in in the /info
30
view, as the graph rendering is slightly different.
31
</ol>
32
33
<li><p>
34
Click on each of the links in in the
35
[./diff-test-1.wiki] document and verify that all diffs are
36
rendered correctly.
37
38
<li><p>
39
Click on the following link to verify that it works: [./test-page%2b%2b.wiki | ./test-page++.wiki]
40
(NB: Many web servers automatically block
41
or rewrite URLs that contain "+" characters, even when those "+"
42
characters are encoded as "%2B". On such web servers, the URL
43
above will not work. This test is only guaranteed to work
44
when running "fossil ui".)
45
46
<li><p>
47
Shift-click on each of the links in [./fileage-test-1.wiki] and verify
48
correct operation of the file-age computation.
49
50
<li><p>
51
Verify correct name-change tracking behavior (no net changes) for:
52
<pre><b>fossil test-name-changes --debug b120bc8b262ac 374920b20944b
53
</b></pre>
54
55
<li><p>
56
Compile for all of the following platforms:
57
<ol type="a">
58
<li> Linux x86
59
<li> Linux x86_64
60
<li> Mac x86
61
<li> Mac x86_64
62
<li> Windows (mingw)
63
<li> Windows (vc++)
64
<li> OpenBSD
65
</ol>
66
67
<li><p>
68
Run at least one occurrence of the following commands on every
69
platform:
70
<ol type="a">
71
<li> <b>fossil rebuild</b>
72
<li> <b>fossil sync</b>
73
<li> <b>fossil test-integrity</b>
74
</ol>
75
76
<li><p>
77
Run the following commands on Linux and verify no major memory leaks
78
and no run-time errors or warnings (except for the well-known jump on an
79
uninitialized value that occurs within zlib).</p>
80
<ol type="a">
81
<li> <b>valgrind fossil rebuild</b>
82
<li> <b>valgrind fossil sync</b>
83
</ol>
84
85
<p>Achtung: make sure to point valgrind to the proper fossil binary
86
so that it does not pick up another from the PATH.</p>
87
88
89
<li><p>
90
91
Inspect [http://fossil-scm.org/home/vdiff?from=release&to=trunk&sbs=1|all code changes since the previous release], paying particular
92
attention to the following details:
93
<ol type="a">
94
<li> Can a malicious HTTP request cause a buffer overrun.
95
<li> Can a malicious HTTP request expose privileged information to
96
unauthorized users.
97
</ol>
98
99
100
<li><p>
101
Use the release candidate version of fossil in production on the
102
[http://fossil-scm.org/] website for at least 48 hours (without
103
incident) prior to making the release official.
104
105
<li><p>
106
Verify that the minimum SQLite version requirement is up-to-date:
107
<ol type="a">
108
<li> Check the version number in the line starting "define MINIMUM_SQLITE_VERSION" near the top of [/file?name=auto.def&ci=tip | auto.def]
109
<li> Check the output of <b>./configure --print-minimum-sqlite-version</b>
110
</ol>
111
112
<li><p>
113
Verify that the [../www/changes.wiki | Change Log] is correct and
114
up-to-date.
115
</ol>
116
117
<hr>
118
119
Upon successful completion of all tests above, tag the release candidate
120
with the "release" tag and set its background color to "#d0c0ff". Update
121
the www/changes.wiki file to show the date of the release.
122

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button