Repository navigation
Feature #584 linkcheck - #587
Conversation
… linkcheck.yml, and update Sphinx to match METplus - Run dtcenter/metplus-action-linkcheck@v1 as a "Check links" step of documentation.yaml after the docs build, with the same inputs linkcheck.yml used, as was done for MET (dtcenter/MET#3457) and METplus (dtcenter/METplus#3359). The weekly schedule is dropped. - Add a workflow_dispatch trigger so the workflow can be run manually. - Update docs/requirements.txt to the versions METplus uses: sphinx 8.2.3, sphinx-design 0.6.1, sphinx-rtd-theme 3.0.1, and sphinx-gallery 0.19.0. - Use Python 3.12 for the Documentation workflow (was 3.10), since Sphinx 8.2 requires Python 3.11 or later. Read the Docs already uses 3.12. - Stop installing unpinned sphinx, sphinx-gallery, and sphinx_rtd_theme before docs/requirements.txt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The sites.gsl.noaa.gov author page returns 503 Service Unavailable. This section will be removed before the next release, so no replacement link is needed. This matches the same change in MET (dtcenter/MET#3457) and METplus (dtcenter/METplus#3359). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ed-out examples dtcenter/metplus-action-linkcheck checks DOI links with the DOI API, so a DOI whose publisher blocks automated requests still passes, and a mistyped DOI fails. Shorten the comment for bmcnoldy.rsmas.miami.edu, which is still ignored. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Tabs in the .rst files are replaced with spaces, matching the spacing conventions used elsewhere in the docs: - Tabs used for indentation are replaced with the same number of spaces docutils already used for them (tab stops every 8 columns), so the rendered docs are unchanged. - Lines containing only whitespace are now empty, and trailing tabs are removed. - Tabs between words in a sentence, or after a directive name, are replaced with a single space. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Link changes in this PRThis PR corrects 1 link:
Most of the broken links listed in #584 were already fixed in #585 (merged on 2026-07-30), so this table shows only the links changed by this PR. The table compares
🤖 Generated with Claude Code |
|
@jprestop there no actual link updates for METplotpy. Marking this PR as ready for your review. |
… template. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s repositories. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ed METplus-X.Y Development project and use consistent documentation links. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…equest template. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jprestop
left a comment
There was a problem hiding this comment.
Everything looks good to me. Thank you for your work on this task @JohnHalleyGotway. I approve.
Closes #192 ## Summary ## Moves the link check into the existing **Documentation** workflow and updates the Sphinx versions to match METplus, the same changes made for MET (dtcenter/MET#3457) and METplus (dtcenter/METplus#3359). Most of the links listed in #192 were already fixed in #194. With these changes, the Documentation workflow builds the docs with no warnings and **all checked links pass, with none ignored**. ## Changes ## ### Link Check Moved Into the Documentation Workflow ### - `.github/workflows/documentation.yml` now runs [`dtcenter/metplus-action-linkcheck@v1`](https://github.com/dtcenter/metplus-action-linkcheck) (v1.6.0) as a **Check links** step after the docs build without warnings, with the same inputs `linkcheck.yml` used. - A `workflow_dispatch` trigger is added so the check can still be run manually. The weekly schedule is dropped, as in MET and METplus. - `.github/workflows/linkcheck.yml` is removed. ### Sphinx Updated to Match METplus ### | Package | Before | After | |---|---|---| | `sphinx` | 5.3.0 | 8.2.3 | | `sphinx-design` | 0.3.0 | 0.6.1 | | `sphinx-rtd-theme` | 1.3.0 | 3.0.1 | | `sphinx-gallery` | 0.14.0 | 0.19.0 | | `sphinxcontrib-bibtex` | 2.6.1 | 2.6.1 (unchanged; compatible with Sphinx 8) | - Sphinx 8.2 requires Python 3.11 or later, so the Documentation workflow now uses Python 3.12 (was 3.8), and so does Read the Docs (`.readthedocs.yaml`, was 3.10). - The Documentation workflow no longer installs unpinned `sphinx`, `sphinx-gallery`, and `sphinx_rtd_theme` before `docs/requirements.txt`. ### Links ### - **Venita Hagerty** (`index.rst`): the `sites.gsl.noaa.gov` author page returns `503 Service Unavailable`. Her name is now shown in bold with no link, as in MET and METplus, since this section will be removed before the next release. - **`linkcheck_ignore` is now empty.** `https://www.noaa.gov/` was ignored because it returned `403` to Sphinx 5, but it responds to the link checker with Sphinx 8, including on GitHub Actions runners. ### Consistent Spacing ### Tabs in the `.rst` files (26 line(s) in 5 file(s), 35bac3a) are replaced with spaces, for consistent spacing that matches the formatting conventions used elsewhere in the docs: - Tabs used for indentation are replaced with the same number of spaces docutils already used for them (tab stops every 8 columns), so continuation lines and code blocks still line up. - Lines containing only whitespace are now empty, and trailing tabs are removed. - Tabs between words in a sentence, or after a directive name, are replaced with a single space. These are whitespace-only changes (`git diff -w` is empty), and the rendered docs are unchanged. The HTML was built before and after this change, and every page has identical content, with no warnings. ### Pull Request Template Updated ### `.github/pull_request_template.md` is updated to prompt for a summary of each pull request and to make the template consistent across the METplus repositories. Since linkcheck PRs are open in 8 METplus repositories at once, they are used to make the same template changes everywhere (see also dtcenter/METplus#3359, dtcenter/MET#3457, dtcenter/METplotpy#587, dtcenter/METcalcpy#478, dtcenter/METdataio#432, dtcenter/METviewer#676, dtcenter/METplus-Training#73). In this repository, the template changes: - Adds a **Change Summary** section at the top, prompting the submitter to describe the changes proposed by the pull request. The template had no place for this before. - Replaces the per-repository **METexpress-X.Y.Z Development** project with **METplus-X.Y Development**, the single coordinated development project used for each release since METplus 6.1 (e.g. **METplus-13.0 Development**). The line now says **and/or**, since a change can be selected for both projects. - Adds the question about new SonarQube findings, which the other repositories already ask. ## Pull Request Testing ## - [x] Describe testing already performed for these changes:</br> The Documentation workflow passed on this branch ([run 37077946094](https://github.com/dtcenter/METexpress/actions/runs/37077946094)): the docs build with no warnings, and **all 24 checked links passed**, with none failing or ignored. A local build with Sphinx 8.2.3 in nitpicky mode (`-n`, as in `docs/Makefile`) also had no warnings. - [x] Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions:</br> Review the **Linkcheck Results** in the Documentation job summary for this PR, and check the rendered docs (artifact or Read the Docs) for any visual changes from the newer Sphinx theme. - [x] Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? **[Yes]** - [x] Do these changes include sufficient testing updates? **[Yes]** - [x] Will this PR result in changes to the test suite? **[No]**</br> If **yes**, describe the new output and/or changes to the existing output:</br> - [ ] Please complete this pull request review by **[Fill in date]**.</br> ## Pull Request Checklist ## See the [METplus Workflow](https://metplus.readthedocs.io/en/latest/Contributors_Guide/github_workflow.html) for details. - [ ] Review the source issue metadata (required labels, projects, and milestone). - [x] Complete the PR definition above. - [x] Ensure the PR title matches the feature or bugfix branch name. - [ ] Define the PR metadata, as permissions allow. Select: **Reviewer(s)** and **Development** issue Select: **Milestone** as the version that will include these changes Select: **Coordinated METplus-X.Y Support** project for bugfix releases or **METexpress-X.Y.Z Development** project for official releases - [ ] After submitting the PR, select the ⚙️ icon in the **Development** section of the right hand sidebar. Search for the issue that this PR will close and select it, if it is not already selected. - [ ] After the PR is approved, merge your changes. If permissions do not allow this, request that the reviewer do the merge. - [ ] Close the linked issue and delete your feature or bugfix branch from GitHub. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Closes #584
Summary
Moves the link check into the existing Documentation workflow and updates Sphinx to the versions METplus uses, as was done for MET (dtcenter/MET#3457) and METplus (dtcenter/METplus#3359). The broken links themselves were resolved in #585. With these changes, the Documentation workflow builds the docs with no warnings and all checked links pass.
Changes
Link Check Moved Into the Documentation Workflow
.github/workflows/documentation.yamlnow runsdtcenter/metplus-action-linkcheck@v1(v1.6.0) as a Check links step after the docs build, with the same inputslinkcheck.ymlused. The weekly schedule is dropped.workflow_dispatchtrigger is added so the workflow can be run manually..github/workflows/linkcheck.ymlis removed.Sphinx Updated to Match METplus
sphinxsphinx-designsphinx-rtd-themesphinx-gallerysphinxcontrib-bibtexsphinx,sphinx-gallery, andsphinx_rtd_themebeforedocs/requirements.txt.Links
index.rst):https://sites.gsl.noaa.gov/authors/365returns503 Service Unavailable. Her name is now shown in bold with no link, as in MET and METplus, since this section will be removed before the next release. (v1.6.0 of the link checker re-checks503responses, which Sphinx reports as ignored.)linkcheck_ignoreindocs/conf.pyis reduced to one pattern:https://doi\.org/.*: the link checker checks DOI links with the DOI API, so DOIs whose publishers block automated requests (e.g. Wiley) still pass, and a mistyped DOI fails.https://bmcnoldy\.rsmas\.miami\.edu/.*(incomplete TLS certificate chain, and often unreachable), with a shorter comment.Consistent Spacing
Tabs in the
.rstfiles (31 line(s) in 15 file(s), 4097779) are replaced with spaces, for consistent spacing that matches the formatting conventions used elsewhere in the docs:These are whitespace-only changes (
git diff -wis empty), and the rendered docs are unchanged. Each changed line was checked to give docutils the same input as before (docutils expands tabs to 8-column tab stops and strips trailing whitespace when it reads a file), and the Documentation workflow builds the docs with no warnings.Pull Request Template Updated
.github/pull_request_template.mdis updated to prompt for a summary of each pull request and to make the template consistent across the METplus repositories. Since linkcheck PRs are open in 8 METplus repositories at once, they are used to make the same template changes everywhere (see also dtcenter/METplus#3359, dtcenter/MET#3457, dtcenter/METcalcpy#478, dtcenter/METdataio#432, dtcenter/METviewer#676, dtcenter/METexpress#199, dtcenter/METplus-Training#73). In this repository, the template changes:</br>after the SonarQube "please describe" prompt, to match the other prompts./en/latest/instead of/en/develop/, like the template's other documentation links.Pull Request Testing
Describe testing already performed for these changes:
The Documentation workflow passed on this branch (run 37078013741): the docs build with no warnings, and all 74 checked links passed (including 4 DOIs checked with the DOI API), with 1 ignored (
bmcnoldy.rsmas.miami.edu). The docs were also built and link checked locally with Sphinx 8.2.3 on Python 3.12, with no warnings. "Python 3.12 tests" also passed.Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions:
Review the Linkcheck Results in the Documentation job summary for this PR.
Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? [Yes]
Do these changes include sufficient testing updates? [Yes]
Will this PR result in changes to the test suite? [No]
If yes, describe the new output and/or changes to the existing output:
Do these changes introduce new SonarQube findings? [No]
If yes, please describe:
Please complete this pull request review by [Fill in date].
Pull Request Checklist
See the METplus Workflow for details.
Select: Reviewer(s) and Development issue
Select: Milestone as the version that will include these changes
Select: Coordinated METplus-X.Y Support project for bugfix releases or METplotpy-X.Y.Z Development project for official releases
🤖 Generated with Claude Code