Reviewing Octave Forge packages: Difference between revisions

Jump to navigation Jump to search
m
→‎Checklist: Minor addition
(→‎Checklist: edit checklist after doing this twice)
Tags: Mobile edit Mobile web edit
m (→‎Checklist: Minor addition)
(16 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:
#* <code>[x]</code> for passed
#* <code>[x]</code> for successfully passed
#* <code>[n/a]</code> for non-applicable
#* <code>[ ]</code> for not done / error (please give below the checklist a brief reason)
#* <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 ===
== Checklist ==


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


== Checklist ==
# pkg-tool runs without errors or warnings


<pre>
- [ ] `pkg install  foo`
[ ] release candidate installs on latest stable Octave release
- [ ] `pkg load     foo`
[ ] no compiler errors or warnings
- [ ] `pkg unload    foo`
[ ] <code>pkg load foo</code> loads with errors or warnings
- [ ] `pkg uninstall foo`
[ ] ran tests using <code>runtests /path/to/pkg</code>
- Above steps were run on Octave and OS versions:
[ ] ran all tests, including those in src (how??)
  - ________
[ ] 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>


== Other info ==
# Package tests


TODO:  how does one check all functions are listed in INDEX?
- [ ] ran tests (`runtests /path/to/pkg` or `oruntests`)
- [ ] ran `doctest` on all functions


TODO: add something about testing multiple OSes, or at least listing what OS we tested...
# Package files in release candidate tarball


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).
- [ ] `DESCRIPTION` version and release date updated
 
- [ ] `DESCRIPTION` minimum Octave tested
=== Meta helping ===
- [ ] `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>


* Feel free to edit this wiki with explanations of the check list tasks
== Admin tasks ==
* Please do add (reasonable) tasks to the check list


=== Common problems ===
# 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]


Here are some common problems that reviewers can check for
== Footnotes ==


* INDEX is missing some new functions added
<references/>
* 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:Octave Forge]]
[[Category:Packages]]

Navigation menu