Difference between revisions of "Release Checklist"
Jump to navigation
Jump to search
(→Final Release: Overhaul section.) |
|||
(18 intermediate revisions by the same user not shown) | |||
Line 11: | Line 11: | ||
: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. | :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. | ||
− | === | + | === Call for bug reports === |
:Completion Date: | :Completion Date: | ||
− | * Put out a general call for reports on maintainers@octave.org and help@octave.org | + | * 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 === | === Review submitted patches on Savannah === | ||
Line 24: | Line 24: | ||
* Review bugs and update to correct category, such as "Patch submitted", correct title if necessary. | * 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]]. | * Add "must-fix" items to [[6.1 Release Bug Fix List]]. | ||
+ | |||
+ | == One time tasks == | ||
=== GPL License activities === | === GPL License activities === | ||
Line 29: | Line 31: | ||
* Update copyright statements for all source controlled files. | * Update copyright statements for all source controlled files. | ||
* 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|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 === | === Style-check code base === | ||
:Completion Date: | :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 | + | : 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 | * m-file style check | ||
* C++ 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 {{Path|NEWS}} for any features which should be announced. | ||
+ | * Update major version number in "@subtitle Edition XXX" in {{Path|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 == | == Repeat until all bugs are resolved == | ||
+ | :Completion Date first iteration: | ||
− | === | + | === Merge submitted patches === |
− | : | + | * Push translations provided by translators. |
− | * Compiling with <code>-fsanitize=undefined</code> | + | * Push reviewed patches from Savannah. |
− | ** PVS static analyzer results [[PVS static analyzer - 5.0 Release]] | + | |
+ | === <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]. | ||
+ | * 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]]. | ||
+ | * 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 [[#Versioning hints|version information]]. | |
− | + | * Create hg tag in repository with release candidate version number. | |
− | + | * Verify <code>make distcheck</code> passes. | |
− | # | + | * Verify <code>make dist</code> 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 == | == Final Release == | ||
Line 94: | Line 82: | ||
=== Update version information === | === Update version information === | ||
:Completion Date: | :Completion Date: | ||
− | * | + | * Ensure correct [[#Versioning hints|version information]]. |
+ | * Create hg tag in repository with release version number. | ||
* Update {{Path|NEWS}} (final release date). | * Update {{Path|NEWS}} (final release date). | ||
* Update {{Path|CITATION}} (version, year, URL). | * Update {{Path|CITATION}} (version, year, URL). | ||
* Update {{Path|org.octave.Octave.appdata.xml}} (version number and release date). | * Update {{Path|org.octave.Octave.appdata.xml}} (version number and release date). | ||
− | |||
− | |||
− | |||
* Update Savannah bug tracker version info. | * Update Savannah bug tracker version info. | ||
* Remove release candidate versions from Savannah. | * Remove release candidate versions from Savannah. | ||
Line 111: | Line 97: | ||
== Post-Release == | == Post-Release == | ||
+ | :Completion Date: | ||
+ | * Merge default onto stable to become the current stable release. | ||
+ | * 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. | ||
+ | * Move {{Path|NEWS}} file to backup in {{Path|etc/NEWS.X}}. | ||
+ | * Create new {{Path|NEWS}} file. | ||
+ | |||
+ | == Versioning hints == | ||
+ | |||
+ | {{Note|Read [https://hg.savannah.gnu.org/hgweb/octave/file/tip/etc/HACKING.md <code>etc/HACKING.md</code>] carefully!!}} | ||
− | + | * 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 00: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 toolscppcheck
, etc.- 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.
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
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
- liboctave/module.mk