From 648d8748a59fc777454a1291ce49eedd56ee3d09 Mon Sep 17 00:00:00 2001 From: jprestop Date: Mon, 6 Jul 2026 17:55:15 -0600 Subject: [PATCH 1/7] Per METplus#3247, adding automated link checking in conjunction with new repo dtcenter/metplus-action-linkcheck --- .github/workflows/linkcheck_pull_request.yml | 15 +++++++++++++++ .github/workflows/linkcheck_scheduled.yml | 15 +++++++++++++++ docs/conf.py | 20 ++++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 .github/workflows/linkcheck_pull_request.yml create mode 100644 .github/workflows/linkcheck_scheduled.yml diff --git a/.github/workflows/linkcheck_pull_request.yml b/.github/workflows/linkcheck_pull_request.yml new file mode 100644 index 000000000..87639a3ec --- /dev/null +++ b/.github/workflows/linkcheck_pull_request.yml @@ -0,0 +1,15 @@ +name: linkcheck-pr +on: + pull_request: + paths: + - 'docs/**' + +jobs: + linkcheck: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtcenter/metplus-action-linkcheck@v1 + with: + fail-on-broken-links: 'true' + upload-artifact: 'true' \ No newline at end of file diff --git a/.github/workflows/linkcheck_scheduled.yml b/.github/workflows/linkcheck_scheduled.yml new file mode 100644 index 000000000..7d6869354 --- /dev/null +++ b/.github/workflows/linkcheck_scheduled.yml @@ -0,0 +1,15 @@ +name: linkcheck-scheduled +on: + schedule: + - cron: '0 6 * * 1' + workflow_dispatch: {} + +jobs: + linkcheck: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtcenter/metplus-action-linkcheck@v1 + with: + fail-on-broken-links: 'true' + \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py index 291f08c30..e4146c7fe 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -262,6 +262,26 @@ 'figure': 'Figure %s', } +# -- linkcheck builder configuration ---------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-the-linkcheck-builder + +linkcheck_timeout = 10 +linkcheck_retries = 2 +linkcheck_workers = 8 + +linkcheck_ignore = [ + # add regex patterns for URLs that should be skipped, e.g.: + # r'https://dtcenter\.org/.*', # if this site blocks automated requests + # r'https://.*metexpress.*\.gsl\.noaa\.gov/.*', # live demo instance; may be internal-network-only +] + +linkcheck_allowed_redirects = { + # map of regex -> regex for redirects that are fine to follow +} + +linkcheck_anchors = True +linkcheck_anchors_ignore = ['^!'] + # -- Export variables -------------------------------------------------------- rst_epilog = """ From be75a332f37fe2d5b183a515d13b728318ae2433 Mon Sep 17 00:00:00 2001 From: jprestop Date: Mon, 6 Jul 2026 18:23:02 -0600 Subject: [PATCH 2/7] Resolving error --- .github/workflows/linkcheck_scheduled.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/linkcheck_scheduled.yml b/.github/workflows/linkcheck_scheduled.yml index 7d6869354..9eb840b9f 100644 --- a/.github/workflows/linkcheck_scheduled.yml +++ b/.github/workflows/linkcheck_scheduled.yml @@ -11,5 +11,4 @@ jobs: - uses: actions/checkout@v4 - uses: dtcenter/metplus-action-linkcheck@v1 with: - fail-on-broken-links: 'true' - \ No newline at end of file + fail-on-broken-links: 'true' \ No newline at end of file From 7c0de621c76b3141878be029d3f588030001d6d0 Mon Sep 17 00:00:00 2001 From: jprestop Date: Tue, 7 Jul 2026 13:17:46 -0600 Subject: [PATCH 3/7] Per METplus#3247, add workflow dispatch to the linkcheck PR workflow too --- .github/workflows/linkcheck_pull_request.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/linkcheck_pull_request.yml b/.github/workflows/linkcheck_pull_request.yml index 87639a3ec..481aab600 100644 --- a/.github/workflows/linkcheck_pull_request.yml +++ b/.github/workflows/linkcheck_pull_request.yml @@ -3,7 +3,8 @@ on: pull_request: paths: - 'docs/**' - + workflow_dispatch: {} + jobs: linkcheck: runs-on: ubuntu-latest From e6690b9184e4c2fba7d91e4e4aabc5eac01a2850 Mon Sep 17 00:00:00 2001 From: jprestop Date: Tue, 7 Jul 2026 15:09:35 -0600 Subject: [PATCH 4/7] Per METplus#3247, combine workflows into one file --- .../{linkcheck_pull_request.yml => linkcheck.yml} | 6 ++++-- .github/workflows/linkcheck_scheduled.yml | 14 -------------- 2 files changed, 4 insertions(+), 16 deletions(-) rename .github/workflows/{linkcheck_pull_request.yml => linkcheck.yml} (85%) delete mode 100644 .github/workflows/linkcheck_scheduled.yml diff --git a/.github/workflows/linkcheck_pull_request.yml b/.github/workflows/linkcheck.yml similarity index 85% rename from .github/workflows/linkcheck_pull_request.yml rename to .github/workflows/linkcheck.yml index 481aab600..408388611 100644 --- a/.github/workflows/linkcheck_pull_request.yml +++ b/.github/workflows/linkcheck.yml @@ -1,10 +1,12 @@ -name: linkcheck-pr +name: linkcheck on: + schedule: + - cron: '0 6 * * 1' pull_request: paths: - 'docs/**' workflow_dispatch: {} - + jobs: linkcheck: runs-on: ubuntu-latest diff --git a/.github/workflows/linkcheck_scheduled.yml b/.github/workflows/linkcheck_scheduled.yml deleted file mode 100644 index 9eb840b9f..000000000 --- a/.github/workflows/linkcheck_scheduled.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: linkcheck-scheduled -on: - schedule: - - cron: '0 6 * * 1' - workflow_dispatch: {} - -jobs: - linkcheck: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: dtcenter/metplus-action-linkcheck@v1 - with: - fail-on-broken-links: 'true' \ No newline at end of file From 25ac9ef86e0b774060b502210cc3e41b3344ce40 Mon Sep 17 00:00:00 2001 From: jprestop Date: Tue, 7 Jul 2026 18:55:22 -0600 Subject: [PATCH 5/7] Per METplus#3247, added upload-artifact --- .github/workflows/linkcheck.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/linkcheck.yml b/.github/workflows/linkcheck.yml index 408388611..a976fc118 100644 --- a/.github/workflows/linkcheck.yml +++ b/.github/workflows/linkcheck.yml @@ -15,4 +15,5 @@ jobs: - uses: dtcenter/metplus-action-linkcheck@v1 with: fail-on-broken-links: 'true' - upload-artifact: 'true' \ No newline at end of file + upload-artifact: 'true' + install-package: 'true' \ No newline at end of file From 849356c4b20b2e0c5dfd423a84e897e129b0a750 Mon Sep 17 00:00:00 2001 From: jprestop Date: Tue, 14 Jul 2026 14:29:22 -0600 Subject: [PATCH 6/7] Per METplus#3247, modified name and checkout version. --- .github/workflows/linkcheck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linkcheck.yml b/.github/workflows/linkcheck.yml index a976fc118..305c6dce6 100644 --- a/.github/workflows/linkcheck.yml +++ b/.github/workflows/linkcheck.yml @@ -1,4 +1,4 @@ -name: linkcheck +name: Linkcheck on: schedule: - cron: '0 6 * * 1' @@ -11,7 +11,7 @@ jobs: linkcheck: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - uses: dtcenter/metplus-action-linkcheck@v1 with: fail-on-broken-links: 'true' From 67c1759aebde4937ce7085934bc59fec2a25f7df Mon Sep 17 00:00:00 2001 From: jprestop Date: Tue, 14 Jul 2026 15:11:39 -0600 Subject: [PATCH 7/7] Per METplus#3247, remove install-package as it is not needed here and is set to false by default. --- .github/workflows/linkcheck.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/linkcheck.yml b/.github/workflows/linkcheck.yml index 305c6dce6..b6dcfc282 100644 --- a/.github/workflows/linkcheck.yml +++ b/.github/workflows/linkcheck.yml @@ -15,5 +15,4 @@ jobs: - uses: dtcenter/metplus-action-linkcheck@v1 with: fail-on-broken-links: 'true' - upload-artifact: 'true' - install-package: 'true' \ No newline at end of file + upload-artifact: 'true' \ No newline at end of file