|
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
|
|