Difference between revisions of "Release Checklist"

From Octave
Jump to navigation Jump to search
(Compare this template page with 5.0.0 Release Checklist.)
(Start overhauling the template.)
Line 1: Line 1:
== 6.1 Release Tasks ==
+
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 <code>./bootstrap</code> in the source tree after updating to the new gnulib version.
 +
 
 +
=== File bug reports ===
 +
:Completion Date:
 +
* Put out a general call for reports on maintainers@octave.org and help@octave.org mailing-list 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]].
 +
 
 +
=== 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 {{Path|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
 +
 
 +
 
 +
== Repeat until all bugs are resolved ==
 +
 
 +
=== Run lint checker on code base ===
 +
:Completion Date:
 +
* Compiling with <code>-fsanitize=undefined</code> and running <code>make check</code>, <code>cppcheck</code>, etc.
 +
** PVS static analyzer results [[PVS static analyzer - 5.0 Release]]
  
<!----------------------------------------------------------------------------->
 
# Update gnulib to latest version
 
#: Must occur first as it could resolve existing, or create new, bug reports
 
#: Done.  You should run bootstrap in the source tree after updating to the new gnulib version.
 
#: Completion Date:
 
<!----------------------------------------------------------------------------->
 
# File bug reports for all outstanding bugs known, but not reported
 
#* Put out a general call for reports on Octave-Maintainers and Octave-Help list
 
#: Completion Date:
 
<!----------------------------------------------------------------------------->
 
# Review patch tracker/bug list for any patches submitted that may be included before release
 
#: Completion Date:
 
<!----------------------------------------------------------------------------->
 
# Identify Bugs which '''must''' be fixed prior to release
 
#* Review bugs on tracker for possible inclusion in list
 
#* Review bugs and update to correct category, such as Patch submitted
 
#: Completion Date:
 
<!----------------------------------------------------------------------------->
 
# Clear all bugs identified as must-fix
 
#* See [[6.1 Release Bug Fix List]]
 
#: Completion Date:
 
<!----------------------------------------------------------------------------->
 
# GPL License activities
 
#* 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 contributors.in
 
#: Completion Date:
 
<!----------------------------------------------------------------------------->
 
# Style-check 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
 
#* m-file style check. Completion Date:
 
#* C++ style check. Completion Date:
 
<!----------------------------------------------------------------------------->
 
# Run lint checker on code base
 
#* Possibilities include compiling with -fsanitize=undefined and running 'make check', cppcheck, etc.
 
#* PVS static analyzer results [[PVS static analyzer - 5.0 Release]]
 
#* Compile with -fsanitize=undefined and run 'make check'
 
#: Completion Date:
 
 
<!----------------------------------------------------------------------------->
 
<!----------------------------------------------------------------------------->
 
# Verify 'make check' is passing on all buildbot combinations of OS and compilers
 
# Verify 'make check' is passing on all buildbot combinations of OS and compilers

Revision as of 00:35, 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.

File bug reports

Completion Date:
  • Put out a general call for reports on maintainers@octave.org and help@octave.org mailing-list 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.

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 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


Repeat until all bugs are resolved

Run lint checker on code base

Completion Date:
  1. Verify 'make check' is passing on all buildbot combinations of OS and compilers
    • Start discussion on octave-maintainers list about which failing tests must be fixed
    • Identify and fix any tests determined critical in step above
    Completion Date:
  2. Compile and run Octave test suite with --enable-address-sanitizer-flags to check for memory leaks
    Completion Date:
  3. Review documentation
    • Grammar check documentation so that it conforms to Octave standards
    • 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
    Completion Date:
  4. Localization and Internationalization
    • Update language translation files (*.ts)
    • Create issue report on Savannah as a centralized location for uploading files
    • Submit call for translations for GUI strings
    • Push translations provided by translators
    Completion Date:
  5. Update shared library and oct file API version numbers
    • 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)
    Completion Date:
  6. Verify build process and create release candidates
    • Update configure.ac with new version information
      • Update AC_INIT, OCTAVE_MAJOR_VERSION, OCTAVE_MINOR_VERSION, OCTAVE_PATCH_VERSION, OCTAVE_RELEASE_DATE
    • Verify 'make distcheck' passes
    • Create release candidate
      • 'make dist'
      • hg tag repository with release candidate ID
      • For Windows, create installer Windows Installer
      • Upload release candidate
      • Add release candidate version to Savannah bug tracker
      • Announce release candidate to Octave-Maintainers, Octave-Help, on web page
      • Repeat release candidate cycle until clean
    Completion Date:
  7. Final Release
    • Update version information
      • Update configure.ac (AC_INIT, OCTAVE_MAJOR_VERSION, OCTAVE_MINOR_VERSION, OCTAVE_PATCH_VERSION, OCTAVE_RELEASE_DATE)
      • Update NEWS (final release date)
      • Update CITATION (version, year, URL)
      • Update org.octave.Octave.appdata.xml (version number and release date)
    • hg tag repository with release version number
    • merge default onto stable to become the current stable release
    • Savannah bug tracker version info
      • add new release version to bug tracker
      • remove release candidate versions from bug tracker
    • Announce final release on
      • Octave mailing lists
      • Octave web site
      • This wiki
    Completion Date:
  8. Post-Release
    • 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)
    • 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
    Completion Date: