Difference between revisions of "Reviewing Octave Forge packages"

From Octave
Jump to navigation Jump to search
Tags: Mobile edit Mobile web edit
m (→‎Checklist: Minor addition)
(29 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Help reviewing Octave-Forge packages ==
+
{{Note|More than one person can review a package, in fact that would be great.}}
  
We need help. Here is how:
+
The reviewing procedure in short:
  
 
# Pick a package at https://sourceforge.net/p/octave/package-releases/
 
# Pick a package at https://sourceforge.net/p/octave/package-releases/
 
# Copy the check-list below and fill it out, marking each box:
 
# Copy the check-list below and fill it out, marking each box:
    * `[x]` for passed
+
#* <code>[x]</code> for successfully passed
    * `[n/a]` for non-applicable
+
#* <code>[ ]</code> for not done / error (please give below the checklist a brief reason)
    * `[S]` for skipped (because you cannot do it, missing software, etc)
+
# Paste your filled in check-list as a comment on the issue above
    * `[F]` for fails.
+
# An [https://sourceforge.net/p/octave/_members/ Octave Forge Admin] will try to look over your review and hopefully release the package.
# Paste your filled in check-list as a coFeel free to helpmment on the issue above
 
  
 +
== Checklist ==
  
=== Checklist ===
+
<pre>
 +
# Repository / Metadata
 +
 
 +
- [ ] release commit/changeset specified and present in repository
 +
- [ ] `generate_package_html` / `make html` works without errors and warnings
 +
- [ ] generated HTML documentation looks sane
 +
 
 +
# pkg-tool runs without errors or warnings
 +
 
 +
- [ ] `pkg install  foo`
 +
- [ ] `pkg load      foo`
 +
- [ ] `pkg unload    foo`
 +
- [ ] `pkg uninstall foo`
 +
- Above steps were run on Octave and OS versions:
 +
  -  ________
 +
  -  ________
 +
 
 +
# Package tests
 +
 
 +
- [ ] ran tests (`runtests /path/to/pkg` or `oruntests`)
 +
- [ ] ran `doctest` on all functions
  
<pre>
+
# Package files in release candidate tarball
[ ] release candidate installed on latest Octave release
+
 
[ ] no compiler errors or serious warnings
+
- [ ] `DESCRIPTION` version and release date updated
[ ] ran all tests using runtests (including tests in the src dir)
+
- [ ] `DESCRIPTION` minimum Octave tested
[ ] ran doctest on all functions (optional)
+
- [ ] `DESCRIPTION` all dependencies are listed
[ ] Above steps were run on Octave versions:
+
- [ ] `NEWS` version and date match
    *  ________ [provide list]
+
- [ ] `NEWS` big changes announced
[ ] Run generate_package_html
+
- [ ] `INDEX` all (new) functions are listed
[ ] no makeinfo errors and warnings during HTML build
+
- [ ] version numbers in help text and function body (e.g., banners) updated
[ ] unpacked and spot-checked the generated HTML documentation
+
- [ ] license specifications in help text and function body agree `licensecheck -r`
[ ] NEWS file makes sense, version and date match
+
- [ ] file permissions are readable/executable by all users
[ ] All functions are listed in INDEX
+
- [ ] junk files are removed (hidden dot files, backup files, results of configure runs, etc.)
 +
- [ ] (optional if present) `src/configure.ac` version updated
 
</pre>
 
</pre>
  
== Common problems ==
+
== Admin tasks ==
 +
 
 +
# Upload release tarball to [https://sourceforge.net/projects/octave/files/Octave%20Forge%20Packages/Individual%20Package%20Releases/ Individual Package Releases]
 +
# Update https://octave.sourceforge.io/
 +
## Upload new package HTML documentation to {{Path|/home/project-web/octave/htdocs/packages/foo/}} <ref>How to access the Octave Forge webspace [https://sourceforge.net/p/forge/documentation/Project%20Web%20Services/ SourceForge help].</ref>
 +
## Update index
 +
### Add entry in [https://sourceforge.net/p/octave/project-web/ci/default/tree/htdocs/news.html htdocs/news.html]
 +
### Run [https://sourceforge.net/p/octave/project-web/ci/default/tree/admin/ofadmin_update_index.m admin/ofadmin_update_index.m]
 +
 
 +
== Footnotes ==
  
Here are some common problems that reviewers can check for
+
<references/>
  
* INDEX is missing some new functions added
+
[[Category:Octave Forge]]
* NEWS has not been updated or is missing something big
 
* Version numbers or dates do not match between DESCRIPTION and NEWS
 
* Common makeinfo errors like "@bye seen before @end deftypefn"
 
* DESCRIPTION says pkg works with old Octave 4.x but it fails for me
 
* Obviously, compiler errors, warnings, test failures
 

Revision as of 16:56, 18 October 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 successfully passed
    • [ ] for not done / error (please give below the checklist a brief reason)
  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 / Metadata

- [ ] release commit/changeset specified and present in repository
- [ ] `generate_package_html` / `make html` works without errors and warnings
- [ ] generated HTML documentation looks sane

# pkg-tool runs without errors or warnings

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

# Package tests

- [ ] ran tests (`runtests /path/to/pkg` or `oruntests`)
- [ ] ran `doctest` on all functions

# Package files in release candidate tarball

- [ ] `DESCRIPTION` version and release date 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

Admin tasks

  1. Upload release tarball to Individual Package Releases
  2. Update https://octave.sourceforge.io/
    1. Upload new package HTML documentation to /home/project-web/octave/htdocs/packages/foo/ [1]
    2. Update index
      1. Add entry in htdocs/news.html
      2. Run admin/ofadmin_update_index.m

Footnotes

  1. How to access the Octave Forge webspace SourceForge help.