Release Checklist: Difference between revisions

From Octave
Jump to navigation Jump to search
(Compare this template page with 5.0.0 Release Checklist.)
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
== 6.1 Release Tasks ==
Please use


<!----------------------------------------------------------------------------->
&lt;strike&gt;&lt;/strike&gt;
# Update gnulib to latest version
 
#: Must occur first as it could resolve existing, or create new, bug reports
to mark items as done.
#: Done.  You should run bootstrap in the source tree after updating to the new gnulib version.
 
#: Completion Date:
== Kickoff ==
<!----------------------------------------------------------------------------->
 
# File bug reports for all outstanding bugs known, but not reported
=== Update gnulib to latest version ===
#* Put out a general call for reports on Octave-Maintainers and Octave-Help list
:Completion Date:
#: Completion Date:
: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.
<!----------------------------------------------------------------------------->
 
# Review patch tracker/bug list for any patches submitted that may be included before release
=== Call for bug reports ===
#: Completion Date:
:Completion Date:
<!----------------------------------------------------------------------------->
* Put out a general call for reports on maintainers@octave.org and help@octave.org for all outstanding unreported known bugs.
# Identify Bugs which '''must''' be fixed prior to release
 
#* Review bugs on tracker for possible inclusion in list
=== Review submitted patches on Savannah ===
#* Review bugs and update to correct category, such as Patch submitted
:Completion Date:
#: Completion Date:
* Submitted patches from '''bug tracker''' included.
<!----------------------------------------------------------------------------->
* Submitted patches from '''patch tracker''' included.
# Clear all bugs identified as must-fix
 
#* See [[6.1 Release Bug Fix List]]
=== Review open bugs on Savannah ===
#: Completion Date:
:Completion Date:
<!----------------------------------------------------------------------------->
* Review bugs and update to correct category, such as "Patch submitted", correct title if necessary.
# GPL License activities
* Add "must-fix" items to [[6.1 Release Bug Fix List]].
#* Update Copyright statements for all source controlled files
 
#* Update dates in any other locations (launch message, citation, MXE files, etc.)
== One time tasks ==
#* Add any new contributors to contributors.in
 
#: Completion Date:
=== GPL License activities ===
<!----------------------------------------------------------------------------->
:Completion Date:
# Style-check code base
* Update copyright statements for all source controlled files.
#* This will produce lots of whitespace changes, but no behavior changes
* Update dates in any other locations (launch message, citation, MXE files, etc.).
#* Must occur after patches have been added since whitespace changes can prevent patches from applying
* Add any new contributors to {{Path|doc/interpreter/contributors.in}} who wish to be mentioned (don't add them without permission).
#* m-file style check. Completion Date:
 
#* C++ style check. Completion Date:
=== Style-check code base ===
<!----------------------------------------------------------------------------->
:Completion Date:
# Run lint checker on code base
: 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.
#* Possibilities include compiling with -fsanitize=undefined and running 'make check', cppcheck, etc.
* m-file style check
#* PVS static analyzer results [[PVS static analyzer - 5.0 Release]]
* C++ style check
#* Compile with -fsanitize=undefined and run 'make check'
 
#: Completion Date:
=== Review documentation ===
<!----------------------------------------------------------------------------->
:Completion Date:
# Verify 'make check' is passing on all buildbot combinations of OS and compilers
* Grammar check documentation.
#* Start discussion on octave-maintainers list about which failing tests must be fixed
* Spell check documentation.
#* Identify and fix any tests determined critical in step above
* Verify no functions missing from manual.
#: Completion Date:
* Verify deprecated functions removed from "see also" links.
<!----------------------------------------------------------------------------->
* Verify all formats (Info, HTML, PDF) build correctly.
# Compile and run Octave test suite with --enable-address-sanitizer-flags to check for memory leaks
* Review {{Path|NEWS}} for any features which should be announced.
#: Completion Date:
* Update major version number in "@subtitle Edition XXX" in {{Path|octave.texi}}.
<!----------------------------------------------------------------------------->
 
# Review documentation
=== Call for translations ===
#* Grammar check documentation so that it conforms to Octave standards
:Completion Date:
#* Spell check documentation
* Update language translation files (*.ts).
#* Verify no functions missing from manual
* Create issue report on Savannah as a centralized location for uploading files.
#* Verify deprecated functions removed from "see also" links
* Call for translations for GUI strings on maintainers@octave.org.
#* Verify all formats (Info, HTML, pdf) build correctly
 
#* Review NEWS for any features which should be announced
== Repeat until all bugs are resolved ==
#* Update major version number in "@subtitle Edition XXX" in octave.texi
:Completion Date first iteration:
#: Completion Date:
 
<!----------------------------------------------------------------------------->
=== Merge submitted patches ===
# Localization and Internationalization
* Push translations provided by translators.
#* Update language translation files (*.ts)
* Push reviewed patches from Savannah.
#* Create issue report on Savannah as a centralized location for uploading files
 
#* Submit call for translations for GUI strings
=== <code>make check</code> ===
#* Push translations provided by translators
* Verify <code>make check</code> is passing on all [http://buildbot.octave.org:8010/#/waterfall buildbot combinations of OS and compilers].
#: Completion Date:
* 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 shared library and oct file API version numbers
* Start discussion on maintainers@octave.org about which failing tests that must be fixed and which can be declared '''WON'T FIX'''.
#* Increment oct file API version number (configure.ac:OCTAVE_API_VERSION, increment number and drop "+" suffix)
 
#* Increment libtool versioning (liboctave/module.mk:%canon_reldir%_%canon_reldir%_current, libinterp/module.mk:%canon_reldir%_liboctinterp_current, libgui/module.mk:%canon_reldir%_liboctgui_current)
=== Create new release candidate ===
#: Completion Date:
* Ensure correct [[#Versioning hints|version information]].
<!----------------------------------------------------------------------------->
* Create hg tag in repository with release candidate version number.
# Verify build process and create release candidates
* Verify <code>make distcheck</code> passes.
#* Update configure.ac with new version information
* Verify <code>make dist</code> works.
#**  Update AC_INIT, OCTAVE_MAJOR_VERSION, OCTAVE_MINOR_VERSION, OCTAVE_PATCH_VERSION, OCTAVE_RELEASE_DATE
* Create [[Windows Installer]].
#* Verify 'make distcheck' passes
* Upload release candidates.
#* Create release candidate
* Add release candidate version to Savannah bug tracker.
#** 'make dist'
* Announce release candidate to maintainers@octave.org, help@octave.org mailing-list, on web page.
#** hg tag repository with release candidate ID
 
#** For Windows, create installer [[Windows Installer]]
== Final Release ==
#** Upload release candidate
 
#** Add release candidate version to Savannah bug tracker
=== Update version information ===
#** Announce release candidate to Octave-Maintainers, Octave-Help, on web page
:Completion Date:
#** Repeat release candidate cycle until clean
* Ensure correct [[#Versioning hints|version information]].
#: Completion Date:
* Create hg tag in repository with release version number.
<!----------------------------------------------------------------------------->
* Update {{Path|NEWS}} (final release date).
# Final Release
* Update {{Path|CITATION}} (version, year, URL).
#* Update version information
* Update {{Path|org.octave.Octave.appdata.xml}} (version number and release date).
#** Update configure.ac (AC_INIT, OCTAVE_MAJOR_VERSION, OCTAVE_MINOR_VERSION, OCTAVE_PATCH_VERSION, OCTAVE_RELEASE_DATE)
* Update Savannah bug tracker version info.
#** Update NEWS (final release date)
* Remove release candidate versions from Savannah.
#** Update CITATION (version, year, URL)
 
#** Update org.octave.Octave.appdata.xml (version number and release date)
=== Announce final release ===
#* hg tag repository with release version number
:Completion Date:
#* merge default onto stable to become the current stable release
* Octave mailing-lists
#* Savannah bug tracker version info
* Octave web site
#** add new release version to bug tracker
* This wiki
#** remove release candidate versions from bug tracker
 
#* Announce final release on
== Post-Release ==
#** Octave mailing lists
:Completion Date:
#** Octave web site
* Merge default onto stable to become the current stable release.
#** This wiki
* Ensure correct [[#Versioning hints|version information]].
#: Completion Date:
* 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}}.
# Post-Release
* Create new {{Path|NEWS}} file.
#* Update configure.ac (AC_INIT, OCTAVE_MAJOR_VERSION, OCTAVE_MINOR_VERSION, OCTAVE_PATCH_VERSION) to next release cycle
 
#* Update oct file API version number (configure.ac:OCTAVE_API_VERSION, add "+" suffix)
== Versioning hints ==
#* 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
{{Note|Read [https://hg.savannah.gnu.org/hgweb/octave/file/tip/etc/HACKING.md <code>etc/HACKING.md</code>] carefully!!}}
#* Create new NEWS file
 
#: Completion Date:
* Update {{Path|configure.ac}}:
** <code>AC_INIT</code>
** <code>OCTAVE_API_VERSION</code>
** <code>OCTAVE_MAJOR/MINOR/PATCH_VERSION</code>
** <code>OCTAVE_RELEASE_DATE</code>
* Update libtool versioning:
** {{Path|liboctave/module.mk}} <code>%canon_reldir%_%canon_reldir%_current</code>
** {{Path|libinterp/module.mk}} <code>%canon_reldir%_liboctinterp_current</code>
** {{Path|libgui/module.mk}} <code>%canon_reldir%_liboctgui_current</code>


[[Category:Releases]]
[[Category:Releases]]

Revision as of 08:49, 10 December 2019

Please use

<strike></strike>

to mark items as done.

Kickoff

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 maintainers@octave.org and help@octave.org for all outstanding unreported known bugs.

Review submitted patches on Savannah

Completion Date:
  • Submitted patches from bug tracker included.
  • Submitted patches from patch tracker included.

Review open bugs on Savannah

Completion Date:
  • Review bugs and update to correct category, such as "Patch submitted", correct title if necessary.
  • Add "must-fix" items to 6.1 Release Bug Fix List.

One time tasks

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
  • C++ style check

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 NEWS for any features which should be announced.
  • Update major version number in "@subtitle Edition XXX" in octave.texi.

Call for translations

Completion Date:
  • 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.

Repeat until all bugs are resolved

Completion Date first iteration:

Merge submitted patches

  • Push translations provided by translators.
  • Push reviewed patches from Savannah.

make check

  • Verify make check is passing on all buildbot combinations of OS and compilers.
  • Compiling with -fsanitize=undefined, --enable-address-sanitizer-flags to check for memory leaks. Use other tools cppcheck, etc.
  • 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

  • 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.
  • Add release candidate version to Savannah bug tracker.
  • Announce release candidate to maintainers@octave.org, help@octave.org mailing-list, on web page.

Final Release

Update version information

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.
  • Remove release candidate versions from Savannah.

Announce final release

Completion Date:
  • Octave mailing-lists
  • Octave web site
  • This wiki

Post-Release

Completion Date:
  • 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

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