Mercurial > octave
comparison etc/RELEASE_CHECKLIST.md @ 31567:59ca7d2805f2 stable
doc: Update HACKING.md and RELEASE_CHECKLIST.md.
* HACKING.md: Change documentation about updating NEWS.VERSION+1.md file.
* RELEASE_CHECKLIST.md: Wrap most long lines to 80 characters. Add section on
updating stable and default branch version numbers. Add pointers in "GUI
translation files" to "README.md" in libgui/languages/build_ts. Update
instructions for compiling with address sanitizer. Add more details to
"Create new release candidate". Add more steps to "Final Release".
Add names of mailings lists to "Announce final release". Remove first
two steps from "Post-Release" actions.
author | Rik <rik@octave.org> |
---|---|
date | Sun, 27 Nov 2022 20:15:24 -0800 |
parents | ed7b17c7ddf3 |
children | d3ddf7be0235 |
comparison
equal
deleted
inserted
replaced
31565:39b06d766f2a | 31567:59ca7d2805f2 |
---|---|
1 # `VERSION`.1 Release Checklist # | 1 # `VERSION`.1 Release Checklist # |
2 | 2 |
3 **Timeline** (tentative) | 3 **Timeline** (tentative) |
4 | 4 |
5 * YYYY-MM-DD 🚀 Release Kick-off ⚽ (default branch merged to stable) | 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/> | 6 * YYYY-MM-DD 🛠️ 1st release candidate **`VERSION`.0.90** on |
7 * YYYY-MM-DD 🏁 Final Release 🎉 **`VERSION`.1.0** on <https://ftp.gnu.org/gnu/octave/> | 7 <https://alpha.gnu.org/gnu/octave/> |
8 * YYYY-MM-DD 🏁 Final Release 🎉 **`VERSION`.1.0** on | |
9 <https://ftp.gnu.org/gnu/octave/> | |
8 | 10 |
9 Please use `<strike> </strike>` to mark items below as done. | 11 Please use `<strike> </strike>` to mark items below as done. |
10 | 12 |
11 ## 🚀 Kick-off ⚽ ## | 13 ## 🚀 Kick-off ⚽ ## |
12 | 14 |
13 ------------------------------------------------------------ | 15 ------------------------------------------------------------ |
14 | 16 |
17 ### ⚙️ Update stable and default branch to new version numbers ### | |
18 | |
19 Completion Date: | |
20 | |
21 * Merge default onto stable to become the current stable release (see | |
22 instructions in `etc/HACKING.md`). | |
23 * Bump version numbers in `configure.ac` on stable branch (see | |
24 `etc/HACKING.md`). | |
25 * Bump version numbers in `configure.ac` on default branch (see | |
26 `etc/HACKING.md`). | |
27 | |
15 ### ⚙️ Update gnulib to latest version ### | 28 ### ⚙️ Update gnulib to latest version ### |
16 | 29 |
17 Completion Date: | 30 Completion Date: |
18 | 31 |
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. | 32 **Must occur first** as it could resolve existing, or create new, bug reports. |
33 You should run `./bootstrap` in the source tree after updating to the new | |
34 gnulib version. | |
20 | 35 |
21 ### 📢 Call for bug reports ### | 36 ### 📢 Call for bug reports ### |
22 | 37 |
23 Completion Date: | 38 Completion Date: |
24 | 39 |
25 * Put out a general call for reports on [Octave Discourse](https://octave.discourse.group/) for all outstanding unreported known bugs. | 40 * 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. | 41 * 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. | 42 * Mark items that should be fixed for the release with this tag. |
28 * Bug overview at <https://octave.space/savannah/>. | 43 * Bug overview at <https://octave.space/savannah/>. |
29 | 44 |
30 ### 📢 Call for translations ### | 45 ### 📢 Update GUI translation files ### |
31 | 46 |
32 Completion Date: | 47 Completion Date: |
33 | 48 |
34 * Call for updates ([Octave Discourse](https://octave.discourse.group/)) that might change GUI strings. | 49 * Call for updates ([Octave Discourse](https://octave.discourse.group/)) that |
50 might change GUI strings. | |
35 * String freeze date: | 51 * String freeze date: |
36 * Update language translation files (`*.ts`) using scripts from Torsten. | 52 * Update language translation files (`*.ts`). See instructions in |
37 * Create bug report on Savannah as a centralized location for uploading files and tracking status of translations. | 53 `libgui/languages/build_ts/README.md`). |
54 * Create bug report on Savannah as a centralized location for uploading files | |
55 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)). | 56 * 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. | 57 * Collect translation files on Savannah bug report and push to Mercurial. |
40 | 58 |
41 ### ⚖️ GPL License activities ### | 59 ### ⚖️ GPL License activities ### |
42 | 60 |
43 Completion Date: | 61 Completion Date: |
44 | 62 |
45 * Update copyright statements for all source controlled files. | 63 * Update copyright statements for all source controlled files. |
46 * Update dates in any other locations (launch message, citation, MXE files, etc.). | 64 * Update dates in any other locations (launch message, citation, MXE files, |
47 * Add any new contributors to `doc/interpreter/contributors.in` who wish to be mentioned (don't add them without permission). | 65 etc.). |
66 * Add any new contributors to `doc/interpreter/contributors.in` who wish to be | |
67 mentioned (don't add them without permission). | |
48 | 68 |
49 ### ✅ Style-check code base ### | 69 ### ✅ Style-check code base ### |
50 | 70 |
51 Completion Date: | 71 Completion Date: |
52 | 72 |
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. | 73 This will produce lots of whitespace changes, but no behavior changes. **Must |
74 occur after patches have been added**, since whitespace changes can prevent | |
75 patches from applying. | |
54 | 76 |
55 * [m-file style check](https://wiki.octave.org/Octave_style_guide) | 77 * [m-file style check](https://wiki.octave.org/Octave_style_guide) |
56 * [C++ style check](https://wiki.octave.org/C%2B%2B_style_guide) | 78 * [C++ style check](https://wiki.octave.org/C%2B%2B_style_guide) |
57 | 79 |
58 ### 📖 Review documentation ### | 80 ### 📖 Review documentation ### |
59 | 81 |
60 Completion Date: | 82 Completion Date: |
61 | 83 |
62 * Grammar check documentation (See `doc/interpreter/doccheck/README`). | 84 * Grammar check documentation (See `doc/interpreter/doccheck/README`). |
63 * Spell check documentation (`make spellcheck`). | 85 * Spell check documentation (`make spellcheck`). |
64 * Verify no functions missing from manual (`make doc/interpreter/undocumented_list`). | 86 * Verify no functions missing from manual |
65 * Verify deprecated functions removed from "see also" links. | 87 (`make doc/interpreter/undocumented_list`). |
88 * Verify deprecated functions removed from manual (`*.txi`) and from "see also" | |
89 links. | |
66 * Verify all formats (Info, HTML, PDF) build correctly. | 90 * Verify all formats (Info, HTML, PDF) build correctly. |
67 * Review `etc/NEWS.VERSION.md` for any features which should be announced. | 91 * 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. | 92 * Review `__unimplemented__.m` for the latest changes to |
93 [Octave Forge](https://wiki.octave.org/Octave_Forge) packages and new Matlab | |
94 functions. | |
69 * Update major version number in "`@subtitle Edition XXX`" in `octave.texi`. | 95 * Update major version number in "`@subtitle Edition XXX`" in `octave.texi`. |
70 * Update `installer-files/README.html` in MXE Octave with version highlights. | 96 * Update `installer-files/README.html` in MXE Octave with version highlights. |
71 | 97 |
72 ## 🔃 Repeat until all bugs are resolved ## | 98 ## 🔃 Repeat until all bugs are resolved ## |
73 | 99 |
81 | 107 |
82 ### ✅ `make check` ### | 108 ### ✅ `make check` ### |
83 | 109 |
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). | 110 * 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. | 111 * Use software tools to check quality of Octave code. |
86 * Check for memory leaks by compiling with `-fsanitize=undefined`, `--enable-address-sanitizer-flags`. | 112 * Check for memory leaks by configuring with |
113 `--enable-address-sanitizer-flags` and compiling with | |
114 `-fsanitize=undefined`, `-fno-omit-frame-pointer` in `CFLAGS`, `CXXFLAGS`, | |
115 and `LDFLAGS`. | |
87 * Update static code analysis results. See [PVS static analyzer - 5.0 Release](https://wiki.octave.org/PVS_static_analyzer_-_5.0_Release). | 116 * 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. | 117 * 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**. | 118 * 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 | 119 |
91 ### 🛠️ Create new release candidate ### | 120 ### 🛠️ Create new release candidate ### |
92 | 121 |
93 * Ensure correct version information. | 122 * Ensure correct version information (see "Release Numbering" in |
94 * Create hg tag in repository with release candidate version number. | 123 `/etc/HACKING.md`). |
124 * Create `hg tag` in repository with release candidate version number | |
125 (`rc-MAJOR-MINOR-PATCH`). | |
95 * Verify `make distcheck` passes. | 126 * Verify `make distcheck` passes. |
96 * Verify `make dist` works. | 127 * Verify `make dist` works. |
97 * Create [Windows Installer](https://wiki.octave.org/Windows_Installer). | 128 * Create [Windows Installer](https://wiki.octave.org/Windows_Installer). |
98 * Upload release candidates. | 129 * Upload release candidates to <https://alpha.gnu.org/gnu/octave/>. |
99 * Check [Windows Installer](https://wiki.octave.org/Windows_Installer) (executable and zip formats) against false positive detection at [virustotal.com](https://virustotal.com/). | 130 * Check [Windows Installer](https://wiki.octave.org/Windows_Installer) |
131 (executable and zip formats) against false positive detection at | |
132 [virustotal.com](https://virustotal.com/). | |
100 * Add release candidate version to Savannah bug tracker. | 133 * Add release candidate version to Savannah bug tracker. |
101 * Announce release candidate to [Octave Discourse](https://octave.discourse.group/). | 134 * Announce release candidate to |
135 [Octave Discourse](https://octave.discourse.group/). | |
102 | 136 |
103 ## 🏁 Final Release 🎉 ## | 137 ## 🏁 Final Release 🎉 ## |
104 | 138 |
105 ------------------------------------------------------------ | 139 ------------------------------------------------------------ |
106 | 140 |
107 ### 📃 Update version information ### | 141 ### 📃 Update version information ### |
108 | 142 |
109 Completion Date: | 143 Completion Date: |
110 | 144 |
111 * Ensure correct version information. | 145 * Ensure correct version information in `configure.ac` (see "Release Numbering" |
112 * Create hg tag in repository with release version number. | 146 in `/etc/HACKING.md`) |
113 * Update `etc/NEWS.VERSION.md` (final release date). | 147 * Set `OCTAVE_RELEASE_DATE` to the current date. |
148 * Set the year in `OCTAVE_COPYRIGHT` to the current year. | |
149 * Create `hg tag` in repository with release candidate version number | |
150 (`release-VERSION-1-0`). | |
151 * Update `etc/NEWS.VERSION.md` (final release date in Summary header). | |
114 * Update `CITATION` (version, year, URL). | 152 * Update `CITATION` (version, year, URL). |
115 * Update `etc/icons/org.octave.Octave.appdata.xml` (version number and release date). | 153 * Update `etc/icons/org.octave.Octave.appdata.xml` (version number and release |
116 * Update Savannah bug tracker version info. | 154 date). |
117 * Update Savannah bug tracker: **OPEN** bugs marked as **WON'T FIX** should be marked as **CONFIRMED** (or more appropriate) for the final release. | 155 * Upload all tarballs to <https://ftp.gnu.org/gnu/octave/>. |
118 * Remove release candidate versions from Savannah. | 156 * Update web site files: `NEWS-VERSION.html`, `index.in`, `news.in`, and |
157 `download.in`. | |
158 * Update <https://wiki.octave.org/Release_History> page. | |
159 * Update Savannah bug tracker version info to have new release number. | |
160 * Update Savannah bug tracker: **OPEN** bugs marked as **WON'T FIX** should be | |
161 marked as **CONFIRMED** (or more appropriate) for the final release. | |
162 * Hide release candidate versions in Savannah. | |
119 | 163 |
120 ### 📢 Announce final release ### | 164 ### 📢 Announce final release ### |
121 | 165 |
122 Completion Date: | 166 Completion Date: |
123 | 167 |
124 * Octave mailing-lists | 168 * Octave mailing-lists (yes, still) <help@octave.org> and <info-gnu@gnu.org>. |
125 * Octave web site (<https://hg.octave.org/web-octave>) | 169 * Octave web site (<https://hg.octave.org/web-octave>) |
126 * Steps documented in this [changeset](https://hg.octave.org/web-octave/rev/fe59d0118a2b). | 170 * Steps documented in this |
127 * Upload documentation (manual HTML + PDF `octave.org/doc` and version in `octave.org/.htaccess`, Doxygen `octave.org/doxygen`) | 171 [changeset](https://hg.octave.org/web-octave/rev/fe59d0118a2b). |
172 * Upload documentation (manual HTML + PDF `octave.org/doc` and version in | |
173 `octave.org/.htaccess`, Doxygen `octave.org/doxygen`) | |
128 * This wiki | 174 * This wiki |
129 * Template:Release = 7.3.0 | 175 * Template:Release = 7.3.0 |
130 * Template:Release Date = November 2, 2022 | 176 * Template:Release Date = November 2, 2022 |
131 * Template:Release Year = 2022 | 177 * Template:Release Year = 2022 |
132 | 178 |
133 ### ☑️ Post-Release ### | 179 ### ☑️ Post-Release ### |
134 | 180 |
135 Completion Date: | 181 Completion Date: |
136 | 182 |
137 * Merge default onto stable to become the current stable release. | 183 * Remove all deprecated functions (either tagged with `OCTAVE_DEPRECATED` in |
138 * Ensure correct version information. | 184 C++ or in the directory `scripts/deprecated` for m-files) scheduled for |
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. | 185 deletion on default branch. Check file `etc/NEWS.VERSION-2.md` for list of |
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. | 186 features that have been deprecated. |
187 * Create new `etc/NEWS.VERSION+1.md` file by copying `etc/NEWS.VERSION.md` and | |
188 then removing text so that it is a template file with headings only. |