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.