Mercurial > octave
comparison etc/RELEASE_CHECKLIST.md @ 31507:71f9f7210b7c stable
RELEASE_CHECKLIST.md: New file with actions to perform for Octave release.
* RELEASE_CHECKLIST.md: New file with actions to perform for Octave release.
author | Rik <rik@octave.org> |
---|---|
date | Tue, 22 Nov 2022 12:16:17 -0800 |
parents | |
children | 127ffe17714c |
comparison
equal
deleted
inserted
replaced
31505:ec973756cb3a | 31507:71f9f7210b7c |
---|---|
1 # `VERSION`.1 Release Checklist # | |
2 | |
3 **Timeline** (tentative) | |
4 | |
5 * YYYY-MM-DD 🚀 Release Kick-off ⚽ (default branch merged to stable) | |
6 * YYYY-MM-DD 🛠️ 1st release candidate **`VERSION`.0.90** on <https://alpha.gnu.org/gnu/octave/> | |
7 * YYYY-MM-DD 🏁 Final Release 🎉 **`VERSION`.1.0** on <https://ftp.gnu.org/gnu/octave/> | |
8 | |
9 Please use `<strike> </strike>` to mark items below as done. | |
10 | |
11 ## 🚀 Kick-off ⚽ ## | |
12 | |
13 ------------------------------------------------------------ | |
14 | |
15 ### ⚙️ Update gnulib to latest version ### | |
16 | |
17 Completion Date: | |
18 | |
19 **Must occur first** as it could resolve existing, or create new, bug reports. You should run `./bootstrap` in the source tree after updating to the new gnulib version. | |
20 | |
21 ### 📢 Call for bug reports ### | |
22 | |
23 Completion Date: | |
24 | |
25 * Put out a general call for reports on [Octave Discourse](https://octave.discourse.group/) for all outstanding unreported known bugs. | |
26 * Create Savannah tag `VERSION.0.90` on bug tracker for 1st release candidate. | |
27 * Mark items that should be fixed for the release with this tag. | |
28 * Bug overview at <https://octave.space/savannah/>. | |
29 | |
30 ### 📢 Call for translations ### | |
31 | |
32 Completion Date: | |
33 | |
34 * Call for updates ([Octave Discourse](https://octave.discourse.group/)) that might change GUI strings. | |
35 * String freeze date: | |
36 * Update language translation files (`*.ts`) using scripts from Torsten. | |
37 * Create bug report on Savannah as a centralized location for uploading files and tracking status of translations. | |
38 * Call for translations of GUI strings on [Octave Discourse Maintainers](https://octave.discourse.group/c/maintainers/7), CC-ing the translators (see [list of translators](https://hg.savannah.gnu.org/hgweb/octave/file/tip/libgui/languages/translators)). | |
39 * Collect translation files on Savannah bug report and push to Mercurial. | |
40 | |
41 ### ⚖️ GPL License activities ### | |
42 | |
43 Completion Date: | |
44 | |
45 * Update copyright statements for all source controlled files. | |
46 * Update dates in any other locations (launch message, citation, MXE files, etc.). | |
47 * Add any new contributors to `doc/interpreter/contributors.in` who wish to be mentioned (don't add them without permission). | |
48 | |
49 ### ✅ Style-check code base ### | |
50 | |
51 Completion Date: | |
52 | |
53 This will produce lots of whitespace changes, but no behavior changes. **Must occur after patches have been added**, since whitespace changes can prevent patches from applying. | |
54 | |
55 * [m-file style check](https://wiki.octave.org/Octave_style_guide) | |
56 * [C++ style check](https://wiki.octave.org/C%2B%2B_style_guide) | |
57 | |
58 ### 📖 Review documentation ### | |
59 | |
60 Completion Date: | |
61 | |
62 * Grammar check documentation. | |
63 * Spell check documentation. | |
64 * Verify no functions missing from manual. | |
65 * Verify deprecated functions removed from "see also" links. | |
66 * Verify all formats (Info, HTML, PDF) build correctly. | |
67 * Review `etc/NEWS.VERSION.md` for any features which should be announced. | |
68 * Review `__unimplemented__.m` for the latest changes to [Octave Forge](https://wiki.octave.org/Octave_Forge) packages and new Matlab functions. | |
69 * Update major version number in "`@subtitle Edition XXX`" in `octave.texi`. | |
70 * Update `installer-files/README.html` in MXE Octave with version highlights. | |
71 | |
72 ## 🔃 Repeat until all bugs are resolved ## | |
73 | |
74 ------------------------------------------------------------ | |
75 | |
76 Completion Date of first iteration: | |
77 | |
78 ### ⚠️ Current state at Savannah ### | |
79 | |
80 Bug overview at <https://octave.space/savannah/>. | |
81 | |
82 ### ✅ `make check` ### | |
83 | |
84 * Verify `make check` is passing on all [buildbot combinations of OS and compilers](http://buildbot.octave.org:8010/#/waterfall) and [GitHub CI runners](https://github.com/gnu-octave/octave/actions). Also check [test suite runs on "freshly brewed Octave for Windows"](https://github.com/gnu-octave/octave-buildbot/actions) (Kai's buildbots on octave.space). | |
85 * Use software tools to check quality of Octave code. | |
86 * Check for memory leaks by compiling with `-fsanitize=undefined`, `--enable-address-sanitizer-flags`. | |
87 * Update static code analysis results. See [PVS static analyzer - 5.0 Release](https://wiki.octave.org/PVS_static_analyzer_-_5.0_Release). | |
88 * Use other tools such as `cppcheck`, etc. | |
89 * Start discussion on [Octave Discourse Maintainers](https://octave.discourse.group/c/maintainers/8) about which failing tests that must be fixed and which can be declared **WON'T FIX**. | |
90 | |
91 ### 🛠️ Create new release candidate ### | |
92 | |
93 * Ensure correct version information. | |
94 * Create hg tag in repository with release candidate version number. | |
95 * Verify `make distcheck` passes. | |
96 * Verify `make dist` works. | |
97 * Create [Windows Installer](https://wiki.octave.org/Windows_Installer). | |
98 * Upload release candidates. | |
99 * Check [Windows Installer](https://wiki.octave.org/Windows_Installer) (executable and zip formats) against false positive detection at [virustotal.com](https://virustotal.com/). | |
100 * Add release candidate version to Savannah bug tracker. | |
101 * Announce release candidate to [Octave Discourse](https://octave.discourse.group/). | |
102 | |
103 ## 🏁 Final Release 🎉 ## | |
104 | |
105 ------------------------------------------------------------ | |
106 | |
107 ### 📃 Update version information ### | |
108 | |
109 Completion Date: | |
110 | |
111 * Ensure correct version information. | |
112 * Create hg tag in repository with release version number. | |
113 * Update `etc/NEWS.VERSION.md` (final release date). | |
114 * Update `CITATION` (version, year, URL). | |
115 * Update `etc/icons/org.octave.Octave.appdata.xml` (version number and release date). | |
116 * Update Savannah bug tracker version info. | |
117 * Update Savannah bug tracker: **OPEN** bugs marked as **WON'T FIX** should be marked as **CONFIRMED** (or more appropriate) for the final release. | |
118 * Remove release candidate versions from Savannah. | |
119 | |
120 ### 📢 Announce final release ### | |
121 | |
122 Completion Date: | |
123 | |
124 * Octave mailing-lists | |
125 * Octave web site (<https://hg.octave.org/web-octave>) | |
126 * Steps documented in this [changeset](https://hg.octave.org/web-octave/rev/fe59d0118a2b). | |
127 * Upload documentation (manual HTML + PDF `octave.org/doc` and version in `octave.org/.htaccess`, Doxygen `octave.org/doxygen`) | |
128 * This wiki | |
129 * Template:Release = 7.3.0 | |
130 * Template:Release Date = November 2, 2022 | |
131 * Template:Release Year = 2022 | |
132 | |
133 ### ☑️ Post-Release ### | |
134 | |
135 Completion Date: | |
136 | |
137 * Merge default onto stable to become the current stable release. | |
138 * Ensure correct version information. | |
139 * Remove all deprecated functions (either tagged with `OCTAVE_DEPRECATED` in C++ or in the directory `scripts/deprecated` for m-files) scheduled for deletion in "default" branch. Check file `etc/NEWS.VERSION-2.md` for list of features that have been deprecated. | |
140 * Create new `etc/NEWS.VERSION+1.md` file by copying `etc/NEWS.VERSION.md` and then removing text so that it is a template file with headings only. |