Difference between revisions of "7.1 Release Checklist"

From Octave
Jump to navigation Jump to search
(Update release timeline.)
 
(35 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
{{Note|'''Timeline''' (tentative)
 
{{Note|'''Timeline''' (tentative)
* 2021-11-yy 🚀 Release Kick-off ⚽  '''(default branch not yet merged to stable!)'''
+
* 2021-11-24 🚀 Release Kick-off ⚽  (default branch merged to stable)
* 2022-xx-yy 🛠️ First Release candidate '''7.0.90''' on https://alpha.gnu.org/gnu/octave/
+
* 2022-01-05 🛠️ 1st release candidate '''7.0.90''' on https://alpha.gnu.org/gnu/octave/
* ...
+
* 2022-03-18 🛠️ 2nd release candidate '''7.0.92''' on https://alpha.gnu.org/gnu/octave/
* 2022-xx-yy 🏁 Final Release 🎉 '''7.1.0''' on https://ftp.gnu.org/gnu/octave/}}
+
* 2022-04-06 🏁 Final Release 🎉 '''7.1.0''' on https://ftp.gnu.org/gnu/octave/}}
  
 
:Please use <code>&lt;strike&gt; &lt;/strike&gt;</code> to mark items below as done.
 
:Please use <code>&lt;strike&gt; &lt;/strike&gt;</code> to mark items below as done.
Line 9: Line 9:
 
== 🚀 Kick-off ⚽ ==
 
== 🚀 Kick-off ⚽ ==
  
=== Call for bug reports ===
+
=== 📢 Call for bug reports ===
 
:Completion Date:
 
:Completion Date:
 
* Put out a general call for reports on [https://octave.discourse.group/ Octave Discourse] for all outstanding unreported known bugs.
 
* Put out a general call for reports on [https://octave.discourse.group/ Octave Discourse] for all outstanding unreported known bugs.
 +
* <strike>Create Savannah tag '''7.0.90''' on bug tracker.</strike>
 +
* Mark items that should be fixed for the release with this tag.
 +
* Bug overview at https://octave.space/savannah/ .
  
=== Call for translations ===
+
=== 📢 Call for translations ===
 
:Completion Date:
 
:Completion Date:
* Call for translations for GUI strings on [https://octave.discourse.group/ Octave Discourse].
+
* <s>Call for updates that might change GUI strings.</s>
* Update language translation files (*.ts).
+
* <s>String freeze date: 2021-12-16</s>
* Create issue report on Savannah as a centralized location for uploading files.
+
* <s>Update language translation files (*.ts).</s>
 +
* <s>Create issue report on Savannah as a centralized location for uploading files.</s>
 +
* <s>Call for translations for GUI strings on maintainers@octave.org, CC-ing the translators (see [https://hg.savannah.gnu.org/hgweb/octave/file/tip/libgui/languages/translators list of translators]).</s>
 
* Collect and push all translated files.
 
* Collect and push all translated files.
  
=== Update gnulib to latest version ===
+
=== <strike> ⚙️ Update gnulib to latest version </strike> ===
:Completion Date:
+
:Completion Date: 2021-11-18
:Must occur first as it could resolve existing, or create new, bug reports. You should run <code>./bootstrap</code> in the source tree after updating to the new gnulib version.
+
:<strike> Must occur first as it could resolve existing, or create new, bug reports. You should run <code>./bootstrap</code> in the source tree after updating to the new gnulib version. </strike>
  
=== GPL License activities ===
+
=== ⚖️ GPL License activities ===
 
:Completion Date:
 
:Completion Date:
* Update copyright statements for all source controlled files.
+
* <strike>Update copyright statements for all source controlled files.</strike>
 
* Update dates in any other locations (launch message, citation, MXE files, etc.).
 
* Update dates in any other locations (launch message, citation, MXE files, etc.).
 
* Add any new contributors to {{Path|doc/interpreter/contributors.in}} who wish to be mentioned (don't add them without permission).
 
* Add any new contributors to {{Path|doc/interpreter/contributors.in}} who wish to be mentioned (don't add them without permission).
  
=== Style-check code base ===
+
=== <strike> ✅ Style-check code base </strike> ===
:Completion Date:
+
:Completion Date: 11/29/21
: 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.
+
: <strike> 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.
 
* [[Octave style guide|m-file style check]]
 
* [[Octave style guide|m-file style check]]
*  [[C++ style guide|C++ style check]]
+
*  [[C++ style guide|C++ style check]] </strike>
  
=== Review documentation ===
+
=== <strike> 📖 Review documentation </strike> ===
:Completion Date:
+
:Completion Date: 12/16/21
* Grammar check documentation.
+
* <strike> Grammar check documentation. </strike>
* Spell check documentation.
+
* <strike> Spell check documentation. </strike>
* Verify no functions missing from manual.
+
* <strike> Verify no functions missing from manual. </strike>
* Verify deprecated functions removed from "see also" links.
+
* <strike> Verify deprecated functions removed from "see also" links. </strike>
* Verify all formats (Info, HTML, PDF) build correctly.
+
* <strike> Verify all formats (Info, HTML, PDF) build correctly. </strike>
* Review {{Path|NEWS}} for any features which should be announced.
+
* <strike> Review {{Path|NEWS}} for any features which should be announced. </strike>
 
* Review {{Path|__unimplemented__.m}} for the latest changes to [[Octave Forge]] packages and new Matlab functions.
 
* Review {{Path|__unimplemented__.m}} for the latest changes to [[Octave Forge]] packages and new Matlab functions.
* Update major version number in "@subtitle Edition XXX" in {{Path|octave.texi}}.
+
* <strike> Update major version number in "@subtitle Edition XXX" in {{Path|octave.texi}}. </strike>
* Update {{Path|[https://hg.octave.org/mxe-octave/file/tip/installer-files/README.html installer-files/README.html]}} in MXE Octave with version highlights.
+
* <strike> Update {{Path|[https://hg.octave.org/mxe-octave/file/tip/installer-files/README.html installer-files/README.html]}} in MXE Octave with version highlights. </strike>
  
 
== 🔃 Repeat until all bugs are resolved ==
 
== 🔃 Repeat until all bugs are resolved ==
 
:Completion Date first iteration:
 
:Completion Date first iteration:
  
=== Current state at Savannah ===
+
=== ⚠️ Current state at Savannah ===
  
{{Note|Visit https://octave.space/savannah to get an overview about open bugs for the next stable release.}}
+
* Bug overview at https://octave.space/savannah/ .
  
=== <code>make check</code> ===
+
=== <code>make check</code> ===
* Verify <code>make check</code> is passing on all [http://buildbot.octave.org:8010/#/waterfall buildbot combinations of OS and compilers].
+
* Verify <code>make check</code> is passing on all [http://buildbot.octave.org:8010/#/waterfall buildbot combinations of OS and compilers] and [https://github.com/gnu-octave/octave/actions GitHub CI runners]. Also check [https://github.com/gnu-octave/octave-buildbot/actions test suite runs on "freshly brewed Octave for Windows"] (Kai's buildbots on octave.space).
 
* Compiling with <code>-fsanitize=undefined</code>, <code>--enable-address-sanitizer-flags</code> to check for memory leaks. Use other tools <code>cppcheck</code>, etc.
 
* Compiling with <code>-fsanitize=undefined</code>, <code>--enable-address-sanitizer-flags</code> to check for memory leaks. Use other tools <code>cppcheck</code>, etc.
 
** Update PVS static analyzer results [[PVS static analyzer - 5.0 Release]].
 
** Update PVS static analyzer results [[PVS static analyzer - 5.0 Release]].
 
* Start discussion on maintainers@octave.org about which failing tests that must be fixed and which can be declared '''WON'T FIX'''.
 
* Start discussion on maintainers@octave.org about which failing tests that must be fixed and which can be declared '''WON'T FIX'''.
  
=== Create new release candidate ===
+
=== 🛠️ Create new release candidate ===
 
* Ensure correct [[#Versioning hints|version information]].
 
* Ensure correct [[#Versioning hints|version information]].
 
* Create hg tag in repository with release candidate version number.
 
* Create hg tag in repository with release candidate version number.
Line 68: Line 73:
 
* Create [[Windows Installer]].
 
* Create [[Windows Installer]].
 
* Upload release candidates.
 
* Upload release candidates.
 +
* Check [[Windows Installer]] (executable and zip formats) against false positive detection at [https://virustotal.com virustotal.com]
 
* Add release candidate version to Savannah bug tracker.
 
* Add release candidate version to Savannah bug tracker.
 
* Announce release candidate to [https://octave.discourse.group/ Octave Discourse].
 
* Announce release candidate to [https://octave.discourse.group/ Octave Discourse].
Line 73: Line 79:
 
== 🏁 Final Release 🎉 ==
 
== 🏁 Final Release 🎉 ==
  
=== Update version information ===
+
=== 📃 Update version information ===
 
:Completion Date:
 
:Completion Date:
 
* Ensure correct [[#Versioning hints|version information]].
 
* Ensure correct [[#Versioning hints|version information]].
Line 84: Line 90:
 
* Remove release candidate versions from Savannah.
 
* Remove release candidate versions from Savannah.
  
=== Announce final release ===
+
=== 📢 Announce final release ===
 
:Completion Date:
 
:Completion Date:
 
* Octave mailing-lists
 
* Octave mailing-lists
Line 95: Line 101:
 
** [[Template:Release Year]] = {{Release Year}}
 
** [[Template:Release Year]] = {{Release Year}}
  
== Post-Release ==
+
== <strike> ☑️ Post-Release </strike> ==
:Completion Date:
+
:Completion Date: 11/24/21
* Merge default onto stable to become the current stable release.
+
* <strike> Merge default onto stable to become the current stable release.
 
* Ensure correct [[#Versioning hints|version information]].
 
* Ensure correct [[#Versioning hints|version information]].
 
* Remove all deprecated functions (either <code>OCTAVE_DEPRECATED</code> in C++ or scripts/deprecated for m-files) scheduled for deletion in "default" branch.
 
* Remove all deprecated functions (either <code>OCTAVE_DEPRECATED</code> in C++ or scripts/deprecated for m-files) scheduled for deletion in "default" branch.
 
* Move {{Path|NEWS}} file to backup in {{Path|etc/NEWS.X}}.
 
* Move {{Path|NEWS}} file to backup in {{Path|etc/NEWS.X}}.
* Create new {{Path|NEWS}} file.
+
* Create new {{Path|NEWS}} file. </strike>
  
 
== ℹ️ Versioning hints ==
 
== ℹ️ Versioning hints ==

Latest revision as of 10:03, 7 April 2022

Info icon.svg
Timeline (tentative)
Please use <strike> </strike> to mark items below as done.

🚀 Kick-off ⚽[edit]

📢 Call for bug reports[edit]

Completion Date:
  • Put out a general call for reports on Octave Discourse for all outstanding unreported known bugs.
  • Create Savannah tag 7.0.90 on bug tracker.
  • Mark items that should be fixed for the release with this tag.
  • Bug overview at https://octave.space/savannah/ .

📢 Call for translations[edit]

Completion Date:
  • Call for updates that might change GUI strings.
  • String freeze date: 2021-12-16
  • Update language translation files (*.ts).
  • Create issue report on Savannah as a centralized location for uploading files.
  • Call for translations for GUI strings on maintainers@octave.org, CC-ing the translators (see list of translators).
  • Collect and push all translated files.

⚙️ Update gnulib to latest version [edit]

Completion Date: 2021-11-18
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.

⚖️ GPL License activities[edit]

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 [edit]

Completion Date: 11/29/21
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.

📖 Review documentation [edit]

Completion Date: 12/16/21
  • 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 NEWS for any features which should be announced.
  • Review __unimplemented__.m for the latest changes to 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[edit]

Completion Date first iteration:

⚠️ Current state at Savannah[edit]

make check[edit]

🛠️ Create new release candidate[edit]

  • 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.
  • Upload release candidates.
  • Check Windows Installer (executable and zip formats) against false positive detection at virustotal.com
  • Add release candidate version to Savannah bug tracker.
  • Announce release candidate to Octave Discourse.

🏁 Final Release 🎉[edit]

📃 Update version information[edit]

Completion Date:
  • Ensure correct version information.
  • Create hg tag in repository with release version number.
  • Update NEWS (final release date).
  • Update CITATION (version, year, URL).
  • Update 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[edit]

Completion Date:

☑️ Post-Release [edit]

Completion Date: 11/24/21
  • Merge default onto stable to become the current stable release.
  • Ensure correct version information.
  • Remove all deprecated functions (either OCTAVE_DEPRECATED in C++ or scripts/deprecated for m-files) scheduled for deletion in "default" branch.
  • Move NEWS file to backup in etc/NEWS.X.
  • Create new NEWS file.

ℹ️ Versioning hints[edit]

Info icon.svg
Read etc/HACKING.md carefully!!
  • Update configure.ac:
    • AC_INIT
    • OCTAVE_API_VERSION
    • OCTAVE_MAJOR/MINOR/PATCH_VERSION
    • OCTAVE_RELEASE_DATE
  • Update libtool versioning:
    • liboctave/module.mk %canon_reldir%_%canon_reldir%_current
    • libinterp/module.mk %canon_reldir%_liboctinterp_current
    • libgui/module.mk %canon_reldir%_liboctgui_current