|
|
(5 intermediate revisions by the same user 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 ===
| |
| | |
| 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 ==
| | # Repository / Metadata |
| [ ] 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
| |
|
| |
|
| == Interaction with pkg ==
| | - [ ] release commit/changeset specified and present in repository |
| [ ] <code>pkg load foo</code> runs with errors or warnings | | - [ ] `generate_package_html` / `make html` works without errors and warnings |
| [ ] <code>pkg unload foo</code> runs with errors or warnings | | - [ ] generated HTML documentation looks sane |
| [ ] <code>pkg uninstall foo</code> runs with errors or warnings | |
|
| |
|
| [ ] Above steps were run on Octave and OS versions:
| | # pkg-tool runs without errors or warnings |
| * ________
| |
| * ________
| |
|
| |
|
| == Package files in release candidate tarball ==
| | - [ ] `pkg install foo` |
| [ ] tested with minimum Octave version list in DESCRIPTION | | - [ ] `pkg load foo` |
| [ ] reasonable dependencies listed in DESCRIPTION | | - [ ] `pkg unload foo` |
| [ ] NEWS file makes sense, version and date match | | - [ ] `pkg uninstall foo` |
| [ ] All functions are listed in INDEX | | - Above steps were run on Octave and OS versions: |
| [ ] 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>
| |
|
| |
|
| == 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 |
|
| |
|
| : Carne Draug wrote a script to do this several years ago. It is in the [https://sourceforge.net/p/octave/code/HEAD/tree/trunk/octave-forge/admin/check_INDEX.pl old OF admin repository] [[User:KaKiLa|KaKiLa]] ([[User talk:KaKiLa|talk]]) 07:56, 20 November 2019 (PST)
| | # Package files in release candidate tarball |
|
| |
|
| TODO: document how to run "all tests including those in src" Someday this should be just "pkg test foo".
| | - [ ] `DESCRIPTION` version and release date updated |
| | | - [ ] `DESCRIPTION` minimum Octave tested |
| 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` all dependencies are listed |
| | | - [ ] `NEWS` version and date match |
| === Meta helping ===
| | - [ ] `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]] |