Difference between revisions of "Reviewing Octave Forge packages"

From Octave
Jump to navigation Jump to search
(Overhaul page.)
(→‎Checklist: Review list)
Line 15: Line 15:
  
 
<pre>
 
<pre>
== Repository ==
+
# Repository
[ ] maintainer has specified a corresponding revision commit/changeset
 
[ ] checkout code from Sourceforge, commit/changeset is present
 
  
== Compile and Install ==
+
- [ ] maintainer has specified a corresponding revision commit/changeset
[ ] release candidate installs on latest stable Octave release
+
- [ ] checkout code from Sourceforge, commit/changeset is present
[ ] no compiler errors or warnings
 
[ ] ran tests using <code>runtests /path/to/pkg</code> (use <code>oruntests</code> instead in Octave 6.0.0 or later)
 
[ ] ran all tests, including those in src (how??)
 
[ ] ran doctest on all functions (optional)
 
[ ] ran generate_package_html (if Makefile present try <code> make html </code>)
 
[ ] no makeinfo errors and warnings during HTML build
 
[ ] unpacked and spot-checked the generated HTML documentation
 
  
== Interaction with pkg ==
+
# Compile and Install
[ ] <code>pkg load foo</code> runs with errors or warnings
 
[ ] <code>pkg unload foo</code> runs with errors or warnings
 
[ ] <code>pkg uninstall foo</code> runs with errors or warnings
 
  
[ ] Above steps were run on Octave and OS versions:
+
- [ ] release candidate installs on latest stable Octave release
    *  ________
+
- [ ] no compiler errors or warnings
    *  ________
+
- [ ] ran tests using <code>runtests /path/to/pkg</code> (use <code>oruntests</code> instead in Octave 6.0.0 or later)
 +
- [ ] ran all tests, including those in src (how??)
 +
- [ ] ran doctest on all functions (optional)
 +
- [ ] ran generate_package_html (if Makefile present try <code> make html </code>)
 +
- [ ] no makeinfo errors and warnings during HTML build
 +
- [ ] unpacked and spot-checked the generated HTML documentation
  
== Package files in release candidate tarball ==
+
# `pkg`-tool runs without errors or warnings
[ ] tested with minimum Octave version list in DESCRIPTION
 
[ ] reasonable dependencies listed in DESCRIPTION
 
[ ] NEWS file makes sense, version and date match
 
[ ] All functions are listed in INDEX
 
[ ] check licenses (<code>licensecheck -r</code> "plus some manual checks").
 
[ ] package files are readable/executable by all users (reasonably current maintainer Makefile should be doing this).
 
[ ] version number in src/configure.ac (if present) matches DESCRIPTION and tarball name.
 
[ ] any version numbers within the help or function body (e.g., banners) matches above.
 
[ ] contains no hidden dot files, junk backup files, results of configure runs, etc (should be taken care of by maintainer Makefile).
 
</pre>
 
  
=== Common problems ===
+
- [ ] `pkg load      foo`
 +
- [ ] `pkg unload    foo`
 +
- [ ] `pkg uninstall foo`
 +
- [ ] Above steps were run on Octave and OS versions:
 +
      -  ________
 +
      -  ________
  
Here are some common problems that reviewers can check for
+
# Package files in release candidate tarball
  
* INDEX is missing some new functions added
+
- [ ] `DESCRIPTION` version updated
* NEWS has not been updated or is missing something big
+
- [ ] `DESCRIPTION` minimum Octave tested
* Version numbers or dates do not match between DESCRIPTION and NEWS
+
- [ ] `DESCRIPTION` all dependencies are listed
* Common makeinfo errors like "@bye seen before @end deftypefn"
+
- [ ] `NEWS` version and date match
* DESCRIPTION says pkg works with old Octave 4.x but it fails for me
+
- [ ] `NEWS` big changes announced
* Obviously, compiler errors, warnings, test failures
+
- [ ] `INDEX` all (new) functions are listed
 +
- [ ] version numbers in help text and function body (e.g., banners) updated
 +
- [ ] license specifications in help text and function body agree `licensecheck -r`
 +
- [ ] file permissions are readable/executable by all users
 +
- [ ] junk files are removed (hidden dot files, backup files, results of configure runs, etc.)
 +
- [ ] (optional if present) `src/configure.ac` version updated
 +
</pre>
  
 
[[Category:Octave Forge]]
 
[[Category:Octave Forge]]

Revision as of 20:08, 30 September 2020

Info icon.svg
More than one person can review a package, in fact that would be great.

The reviewing procedure in short:

  1. Pick a package at https://sourceforge.net/p/octave/package-releases/
  2. Copy the check-list below and fill it out, marking each box:
    • [x] for passed
    • [n/a] for non-applicable
    • [ ] for skipped (because you cannot do it, missing software, etc)
    • [F] for fails.
  3. Paste your filled in check-list as a comment on the issue above
  4. An Octave Forge Admin will try to look over your review and hopefully release the package.

Checklist

# Repository

- [ ] maintainer has specified a corresponding revision commit/changeset
- [ ] checkout code from Sourceforge, commit/changeset is present

# Compile and Install

- [ ] release candidate installs on latest stable Octave release
- [ ] no compiler errors or warnings
- [ ] ran tests using <code>runtests /path/to/pkg</code> (use <code>oruntests</code> instead in Octave 6.0.0 or later)
- [ ] ran all tests, including those in src (how??)
- [ ] ran doctest on all functions (optional)
- [ ] ran generate_package_html (if Makefile present try <code> make html </code>)
- [ ] no makeinfo errors and warnings during HTML build
- [ ] unpacked and spot-checked the generated HTML documentation

# `pkg`-tool runs without errors or warnings

- [ ] `pkg load      foo`
- [ ] `pkg unload    foo`
- [ ] `pkg uninstall foo`
- [ ] Above steps were run on Octave and OS versions:
      -  ________
      -  ________

# Package files in release candidate tarball

- [ ] `DESCRIPTION` version updated
- [ ] `DESCRIPTION` minimum Octave tested
- [ ] `DESCRIPTION` all dependencies are listed
- [ ] `NEWS` version and date match
- [ ] `NEWS` big changes announced
- [ ] `INDEX` all (new) functions are listed
- [ ] version numbers in help text and function body (e.g., banners) updated
- [ ] license specifications in help text and function body agree `licensecheck -r`
- [ ] file permissions are readable/executable by all users
- [ ] junk files are removed (hidden dot files, backup files, results of configure runs, etc.)
- [ ] (optional if present) `src/configure.ac` version updated