Skip to content

Commit 21e230f

Browse files
committed
Add lychee-based linkcheck workflow.
1 parent 2605673 commit 21e230f

File tree

6 files changed

+78
-21
lines changed

6 files changed

+78
-21
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Linkcheck
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: "00 06 * * 1-5"
7+
8+
jobs:
9+
linkChecker:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
issues: write # required for peter-evans/create-issue-from-file
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Link Checker
17+
id: lychee
18+
uses: lycheeverse/lychee-action@v2
19+
with:
20+
fail: false
21+
args: "--verbose './docs/**/*.rst' './docs/**/*.inc'"
22+
23+
- name: Create Issue From File
24+
if: steps.lychee.outputs.exit_code != 0
25+
uses: peter-evans/create-issue-from-file@v5
26+
with:
27+
title: Link Checker Report
28+
content-filepath: ./lychee/out.md
29+
labels: report, automated issue

.lycheeignore

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# DEAD : legacy in various old whatsnews
2+
https://biggus.readthedocs.io
3+
4+
# unkown problem, works in browser : used in further_topics/ugrid/data_model
5+
https://doi.org/10.3390/jmse2010194
6+
7+
# DEAD, todo:remove, used in docs/src/userguide/plotting_a_cube.rst
8+
https://effbot.org
9+
10+
# DEAD, todo:remove, used in docs/src/further_topics/ugrid/data_model.rst
11+
https://ibm-design-language.eu-de.mybluemix.net/design/language/resources/color-library
12+
13+
# DEAD, legacy in whatsnew/1.4.rst
14+
https://geoport.whoi.edu/thredds/dodsC/bathy/gom15
15+
16+
# catch (at least) github userids, of which many in whatsnews, too many --> "too many requests" failures
17+
https://github.com/[^/]*$
18+
19+
# nonfunctional example, used in docs/src/developers_guide/gitwash/development_workflow.rst
20+
https://github.com/your-user-name/iris
21+
22+
# problem with bad certificate (review sometime?)
23+
https://scitools.github.com/cartopy
24+
25+
# legacy ref in whatsnew/3.0.rst
26+
https://stickler-ci.com
27+
28+
# unkown problem, works in browser : used in docs/src/index.rst
29+
https://www.flaticon.com
30+
31+
# DEAD, todo:remove, used in docs/src/userguide/plotting_a_cube.rst
32+
https://www.personal.psu.edu/cab38/ColorBrewer/ColorBrewer_updates.html
33+

docs/src/further_topics/dask_best_practices/index.rst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@ CPU available. This interacts badly with Dask:
4444
* NumPy will generate enough threads to use all available CPUs even
4545
if Dask is deliberately configured to only use a subset of CPUs. The
4646
resulting sharing of CPUs between threads greatly reduces performance.
47-
* `Dask is already designed to parallelise with NumPy arrays <https://docs
48-
.dask.org/en/latest/array.html>`_, so adding NumPy's 'competing' layer of
49-
parallelisation could cause unpredictable performance.
47+
* `Dask is already designed to parallelise with NumPy arrays
48+
<https://docs.dask.org/en/latest/array.html>`_, so adding NumPy's 'competing' layer
49+
of parallelisation could cause unpredictable performance.
5050

5151
Therefore it is best to prevent NumPy performing its own parallelisation, `a
52-
suggestion made in Dask's own documentation <https://docs.dask
53-
.org/en/stable/array-best-practices.html#avoid-oversubscribing-threads>`_.
52+
suggestion made in Dask's own documentation
53+
<https://docs.dask.org/en/stable/array-best-practices.html#avoid-oversubscribing-threads>`_.
5454
The following commands will ensure this in all scenarios:
5555

5656
in Python...
@@ -158,8 +158,8 @@ NetCDF Files
158158

159159
NetCDF files can include their own chunking specification. This is either
160160
specified when creating the file, or is automatically assigned if one or
161-
more of the dimensions is `unlimited <https://www.unidata.ucar
162-
.edu/software/netcdf/docs/unlimited_dims.html>`_.
161+
more of the dimensions is
162+
`unlimited <https://www.unidata.ucar.edu/software/netcdf/docs/unlimited_dims.html>`_.
163163
Importantly, netCDF chunk shapes are **not optimised for Dask
164164
performance**.
165165

docs/src/userguide/glossary.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ Glossary
188188
189189
Standard Name
190190
A name describing a :term:`phenomenon`, one from a fixed list
191-
defined at `CF Standard Names <https://cfconventions.org/standard-names.html>`_.
191+
defined at `CF Standard Names <https://cfconventions.org/Data/cf-standard-names/current/build/cf-standard-name-table.html>`_.
192192

193193
| **Related:** :term:`Long Name` **|** :term:`Cube`
194194
| **More information:** :doc:`iris_cubes`

docs/src/whatsnew/2.3.rst

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ Features
2929
.. admonition:: Climatological Coordinate Support
3030

3131
Iris can now load, store and save `NetCDF climatological coordinates
32-
<https://cfconventions.org/Data/cf-conventions/cf-conventions-1
33-
.7/cf-conventions.html#climatological-statistics>`_. Any cube time
32+
<https://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html#climatological-statistics>`_. Any cube time
3433
coordinate can be marked as a climatological time axis using the boolean
3534
property: ``climatological``. The climatological bounds are stored in the
3635
coordinate's ``bounds`` property.
@@ -41,9 +40,8 @@ Features
4140
coordinate's ``bounds`` property are written to a NetCDF boundary variable
4241
called '<coordinate-name>_bounds'. These are in place of a standard
4342
'bounds' attribute and accompanying boundary variable. See below
44-
for an `example adapted from CF conventions <https://cfconventions
45-
.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions
46-
.html#climatological-statistics>`_:
43+
for an
44+
`example adapted from CF conventions <https://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html#climatological-statistics>`_:
4745

4846
.. code-block:: none
4947
@@ -116,8 +114,7 @@ Features
116114

117115
* New coordinate system: :class:`iris.coord_systems.Geostationary`,
118116
including load and save support, based on the `CF Geostationary projection
119-
definition <https://cfconventions
120-
.org/cf-conventions/cf-conventions.html#_geostationary_projection>`_.
117+
definition <https://cfconventions.org/cf-conventions/cf-conventions.html#_geostationary_projection>`_.
121118

122119
* :class:`iris.coord_systems.VerticalPerspective` can now be saved to and
123120
loaded from NetCDF files.
@@ -164,8 +161,7 @@ Bugs Fixed
164161
points.
165162

166163
* :class:`iris.coord_systems.VerticalPerspective` coordinate system now uses
167-
the `CF Vertical perspective definition <https://cfconventions
168-
.org/cf-conventions/cf-conventions.html#vertical-perspective>`_; had been
164+
the `CF Vertical perspective definition <https://cfconventions.org/cf-conventions/cf-conventions.html#vertical-perspective>`_; had been
169165
erroneously using Geostationary.
170166

171167
* :class:`~iris.coords.CellMethod` will now only use valid
@@ -227,8 +223,7 @@ Internal
227223
========
228224

229225
* Iris now supports Proj4 up to version 5, but not yet 6 or beyond, pending
230-
`fixes to some cartopy tests <https://github
231-
.com/SciTools/cartopy/pull/1289#pullrequestreview-272774087>`_.
226+
`fixes to some cartopy tests <https://github.com/SciTools/cartopy/pull/1289#pullrequestreview-272774087>`_.
232227

233228
* Iris now requires Dask >= 1.2 to allow for improved coordinate equality
234229
checks.
@@ -238,7 +233,7 @@ Documentation
238233
=============
239234

240235
* Adopted a
241-
`new colour logo for Iris <https://github.com/SciTools/iris/blob/main/docs/src/_static/Iris7_1_trim_100.png>`_
236+
`new colour logo for Iris <https://github.com/SciTools/iris/blob/v2.3.0/docs/iris/src/_static/Iris7_1_trim_100.png>`_
242237

243238
* Added a gallery example showing how to concatenate NEMO ocean model data,
244239
see :ref:`sphx_glr_generated_gallery_oceanography_plot_load_nemo.py`.

docs/src/why_iris.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ giving you a powerful, format-agnostic interface for working with your data.
1111
It excels when working with multi-dimensional Earth Science data, where tabular
1212
representations become unwieldy and inefficient.
1313

14-
`CF Standard names <https://cfconventions.org/standard-names.html>`_,
14+
`CF Standard names <https://cfconventions.org/Data/cf-standard-names/current/build/cf-standard-name-table.html>`_,
1515
`units <https://github.com/SciTools/cf_units>`_, and coordinate metadata
1616
are built into Iris, giving you a rich and expressive interface for maintaining
1717
an accurate representation of your data. Its treatment of data and

0 commit comments

Comments
 (0)