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 and OS 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: document how to run "all tests including those in src" Someday this should be just "pkg test foo".
| + | # 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]]
| |