Mercurial > octave
changeset 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 | ec973756cb3a |
children | 127ffe17714c |
files | etc/RELEASE_CHECKLIST.md |
diffstat | 1 files changed, 140 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/RELEASE_CHECKLIST.md Tue Nov 22 12:16:17 2022 -0800 @@ -0,0 +1,140 @@ +# `VERSION`.1 Release Checklist # + +**Timeline** (tentative) + +* YYYY-MM-DD 🚀 Release Kick-off ⚽ (default branch merged to stable) +* YYYY-MM-DD 🛠️ 1st release candidate **`VERSION`.0.90** on <https://alpha.gnu.org/gnu/octave/> +* YYYY-MM-DD 🏁 Final Release 🎉 **`VERSION`.1.0** on <https://ftp.gnu.org/gnu/octave/> + +Please use `<strike> </strike>` to mark items below as done. + +## 🚀 Kick-off ⚽ ## + +------------------------------------------------------------ + +### ⚙️ Update gnulib to latest version ### + +Completion Date: + +**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. + +### 📢 Call for bug reports ### + +Completion Date: + +* Put out a general call for reports on [Octave Discourse](https://octave.discourse.group/) for all outstanding unreported known bugs. +* Create Savannah tag `VERSION.0.90` on bug tracker for 1st release candidate. +* Mark items that should be fixed for the release with this tag. +* Bug overview at <https://octave.space/savannah/>. + +### 📢 Call for translations ### + +Completion Date: + +* Call for updates ([Octave Discourse](https://octave.discourse.group/)) that might change GUI strings. +* String freeze date: +* Update language translation files (`*.ts`) using scripts from Torsten. +* Create bug report on Savannah as a centralized location for uploading files and tracking status of translations. +* 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)). +* Collect translation files on Savannah bug report and push to Mercurial. + +### ⚖️ GPL License activities ### + +Completion Date: + +* Update copyright statements for all source controlled files. +* Update dates in any other locations (launch message, citation, MXE files, etc.). +* Add any new contributors to `doc/interpreter/contributors.in` who wish to be mentioned (don't add them without permission). + +### ✅ Style-check code base ### + +Completion Date: + +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. + +* [m-file style check](https://wiki.octave.org/Octave_style_guide) +* [C++ style check](https://wiki.octave.org/C%2B%2B_style_guide) + +### 📖 Review documentation ### + +Completion Date: + +* Grammar check documentation. +* Spell check documentation. +* Verify no functions missing from manual. +* Verify deprecated functions removed from "see also" links. +* Verify all formats (Info, HTML, PDF) build correctly. +* Review `etc/NEWS.VERSION.md` for any features which should be announced. +* Review `__unimplemented__.m` for the latest changes to [Octave Forge](https://wiki.octave.org/Octave_Forge) packages and new Matlab functions. +* Update major version number in "`@subtitle Edition XXX`" in `octave.texi`. +* Update `installer-files/README.html` in MXE Octave with version highlights. + +## 🔃 Repeat until all bugs are resolved ## + +------------------------------------------------------------ + +Completion Date of first iteration: + +### ⚠️ Current state at Savannah ### + +Bug overview at <https://octave.space/savannah/>. + +### ✅ `make check` ### + +* 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). +* Use software tools to check quality of Octave code. + * Check for memory leaks by compiling with `-fsanitize=undefined`, `--enable-address-sanitizer-flags`. + * Update static code analysis results. See [PVS static analyzer - 5.0 Release](https://wiki.octave.org/PVS_static_analyzer_-_5.0_Release). + * Use other tools such as `cppcheck`, etc. +* 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**. + +### 🛠️ Create new release candidate ### + +* Ensure correct version information. +* Create hg tag in repository with release candidate version number. +* Verify `make distcheck` passes. +* Verify `make dist` works. +* Create [Windows Installer](https://wiki.octave.org/Windows_Installer). +* Upload release candidates. +* Check [Windows Installer](https://wiki.octave.org/Windows_Installer) (executable and zip formats) against false positive detection at [virustotal.com](https://virustotal.com/). +* Add release candidate version to Savannah bug tracker. +* Announce release candidate to [Octave Discourse](https://octave.discourse.group/). + +## 🏁 Final Release 🎉 ## + +------------------------------------------------------------ + +### 📃 Update version information ### + +Completion Date: + +* Ensure correct version information. +* Create hg tag in repository with release version number. +* Update `etc/NEWS.VERSION.md` (final release date). +* Update `CITATION` (version, year, URL). +* Update `etc/icons/org.octave.Octave.appdata.xml` (version number and release date). +* Update Savannah bug tracker version info. +* Update Savannah bug tracker: **OPEN** bugs marked as **WON'T FIX** should be marked as **CONFIRMED** (or more appropriate) for the final release. +* Remove release candidate versions from Savannah. + +### 📢 Announce final release ### + +Completion Date: + +* Octave mailing-lists +* Octave web site (<https://hg.octave.org/web-octave>) +* Steps documented in this [changeset](https://hg.octave.org/web-octave/rev/fe59d0118a2b). +* Upload documentation (manual HTML + PDF `octave.org/doc` and version in `octave.org/.htaccess`, Doxygen `octave.org/doxygen`) +* This wiki +* Template:Release = 7.3.0 +* Template:Release Date = November 2, 2022 +* Template:Release Year = 2022 + +### ☑️ Post-Release ### + +Completion Date: + +* Merge default onto stable to become the current stable release. +* Ensure correct version information. +* 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. +* 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.