Editing Reviewing Octave Forge packages

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{{Note|More than one person can review a package, in fact that would be great.}}
+
== Help reviewing Octave-Forge packages ==
  
The reviewing procedure in short:
+
We need help. Here is how:
  
 
# 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:
#* <code>[x]</code> for successfully passed
+
#* <code>[x]</code> for passed
#* <code>[ ]</code> for not done / error (please give below the checklist a brief reason)
+
#* <code>[n/a]</code> for non-applicable
 +
#* <code>[ ]</code> for skipped (because you cannot do it, missing software, etc)
 +
#* <code>[F]</code> for fails.
 
# Paste your filled in check-list as a comment on the issue above
 
# Paste your filled in check-list as a comment on the issue above
# An [https://sourceforge.net/p/octave/_members/ Octave Forge Admin] will try to look over your review and hopefully release the package.
+
 
 +
=== What happens next ===
 +
 
 +
An admin will try to look over your review and hopefully release the package. More than one person can review a package, in fact that would be great.
 +
 
  
 
== Checklist ==
 
== Checklist ==
  
 
<pre>
 
<pre>
# Repository / Metadata
+
[ ] release candidate installed on latest stable Octave release
 +
[ ] no compiler errors or serious warnings
 +
[ ] ran all tests using runtests (including tests in the src dir)
 +
[ ] ran doctest on all functions (optional)
 +
[ ] Above steps were run on Octave versions:
 +
    *  ________
 +
    *  ________
 +
[ ] tested with minimum Octave version list in DESCRIPTION
 +
[ ] reasonable dependencies listed in DESCRIPTION
 +
[ ] ran generate_package_html
 +
[ ] no makeinfo errors and warnings during HTML build
 +
[ ] unpacked and spot-checked the generated HTML documentation
 +
[ ] NEWS file makes sense, version and date match
 +
[ ] All functions are listed in INDEX
 +
</pre>
  
- [ ] release commit/changeset specified and present in repository
+
== Other info ==
- [ ] `generate_package_html` / `make html` works without errors and warnings
 
- [ ] generated HTML documentation looks sane
 
  
# pkg-tool runs without errors or warnings
+
TODO:  how does one check all functions are listed in INDEX?
  
- [ ] `pkg install  foo`
+
TODO: add something about testing multiple OSes, or at least listing what OS we tested...
- [ ] `pkg load      foo`
 
- [ ] `pkg unload    foo`
 
- [ ] `pkg uninstall foo`
 
- Above steps were run on Octave and OS versions:
 
  -  ________
 
  -  ________
 
  
# Package tests
+
TODO: would be good to provide more specific instructions for when the package as a Maintainer Makefile?  But we don't usually put the Maintainer Makefile in the .tar.gz package to do?  (At least Doctest and Symbolic don't).
  
- [ ] ran tests (`runtests /path/to/pkg` or `oruntests`)
+
=== Meta helping ===
- [ ] 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
 
</pre>
 
  
== Admin tasks ==
+
* Feel free to edit this wiki with explanations of the check list tasks
 +
* Please do add (reasonable) tasks to the check list
  
# Upload release tarball to [https://sourceforge.net/projects/octave/files/Octave%20Forge%20Packages/Individual%20Package%20Releases/ Individual Package Releases]
+
=== Common problems ===
# 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
 +
* 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
  
[[Category:Octave Forge]]
+
[[Category:Packages]]

Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Templates used on this page: