forked from rerun-io/rerun
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlychee.toml
More file actions
197 lines (174 loc) · 8.41 KB
/
lychee.toml
File metadata and controls
197 lines (174 loc) · 8.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
################################################################################
# Config for the link checker lychee.
#
# Download & learn more at:
# https://github.com/lycheeverse/lychee
#
# Example config:
# https://github.com/lycheeverse/lychee/blob/master/lychee.example.toml
#
# Run `lychee . --dump` to list all found links that are being checked.
#
# Note that by default lychee will only check markdown and html files,
# to check any other files you have to point to them explicitly, e.g.:
# `lychee **/*.rs`
# To make things worse, `exclude_path` is ignored for these globs,
# so local runs with lots of gitignored files will be slow.
# (https://github.com/lycheeverse/lychee/issues/1405)
#
# This unfortunately doesn't list anything for non-glob checks.
################################################################################
# Maximum number of concurrent link checks.
# Workaround for "too many open files" error on MacOS, see https://github.com/lycheeverse/lychee/issues/1248
max_concurrency = 32
# Check links inside `<code>` and `<pre>` blocks as well as Markdown code blocks.
include_verbatim = true
# Proceed for server connections considered insecure (invalid TLS).
insecure = true
# Maximum number of allowed retries before a link is declared dead.
max_retries = 4
# Wait time between attempts in seconds.
retry_wait_time = 2
# Comma-separated list of accepted status codes for valid links.
accept = [
"100..=103", # Informational codes.
"200..=299", # Success codes.
"429", # Too many requests. This is practically never a sign of a broken link.
"403", # A lot of endpoints always return 403 for the link checker
]
# Exclude these filesystem paths from getting checked.
exclude_path = [
# Unfortunately lychee doesn't yet read .gitignore https://github.com/lycheeverse/lychee/issues/1331
# The following entries are there because of that:
"__pycache__",
"_deps/",
".git",
".pixi",
"build",
"docs/python/",
"rerun_cpp/_deps",
"rerun_cpp/docs/html",
"rerun_cpp/docs/xml",
"rerun_cpp/src/rerun/third_party/",
"rerun_cpp/tmp/",
"rerun_js/node_modules/",
"rerun_notebook/node_modules/",
"rerun_py/site/",
"target_ra",
"target_wasm",
"target",
"venv",
# Actually ignored files beyond .gitignore
"crates/store/re_uri/src/lib.rs", # Contains some malformed URLs, but they are not actual links.
"crates/store/re_uri/src/redap_uri.rs", # Same as above.
"crates/utils/re_analytics/src/event.rs", # Contains test with malformed urls
"crates/viewer/re_viewer/src/reflection/mod.rs", # Checker struggles how links from examples are escaped here. They are all checked elsewhere, so not an issue.
"docs/snippets/INDEX.md", # The snippet index is guaranteed should be correct by design.
"scripts/lint.py", # Contains url-matching regexes that aren't actual urls
"scripts/screenshot_compare/assets/templates/",
".typos.toml",
]
# Exclude URLs and mail addresses from checking (supports regex).
exclude = [
# Skip speculative links
'.*?speculative-link',
# Strings with replacements.
'/__VIEWER_VERSION__/', # Replacement variable __VIEWER_VERSION__.
'/\$', # Replacement variable $.
'/GIT_HASH/', # Replacement variable GIT_HASH.
'\{\}', # Ignore links with string interpolation.
'\$relpath\^', # Relative paths as used by rerun_cpp's doc header.
'%7B.+%7D', # Ignore strings that look like ready to use links but contain a replacement strings. The URL escaping is for '{.+}' (this seems to be needed for html embedded urls since lychee assumes they use this encoding).
'%7B%7D', # Ignore links with string interpolation, escaped variant.
# Ignore storage-node example links
'rerun:/.*',
# Local links that require further setup.
'/examples', # Relative link to our examples gallery.
'http://0.0.0.0:51234',
'http://127.0.0.1',
'http://localhost',
're_viewer.js', # Build artifact that html is linking to.
'recording:/', # rrd recording link.
'ws:/',
# API endpoints.
'https://fonts.googleapis.com/', # Font API entrypoint, not a link.
'https://fonts.gstatic.com/', # Font API entrypoint, not a link.
'https://tel.rerun.io/', # Analytics endpoint.
'https://docs-assets.developer.apple.com/ml-research/datasets/arkitscenes/v1', # Used by arkit_scenes.
'https://overpass-api.de/api/interpreter', # Used by openstreetmap_data example
# Avoid rate limiting.
'https://crates.io/crates/w\+', # Avoid crates.io rate-limiting
'https://github.com/rerun-io/rerun/commit/\.*', # Ignore links to our own commits (typically in changelog).
'https://github.com/rerun-io/rerun/pull/\.*', # Ignore links to our own pull requests (typically in changelog).
'https://github.com/rerun-io/rerun/issues/\.*', # Ignore links to our own issues.
# Intentionally faked links.
'file://foo',
'http://foo.*',
'https://foo.*',
'https://link.to',
'https://rerun.rs',
'https://static.rerun.io/my_screenshot/',
'https://your-hosted-asset-url.com/widget.js',
'https://your-hosted-asset-url.com/re_viewer_bg.wasm',
'file:///path/to/file',
'rerun://localhost:51234/recording/some-recording-id',
'file:///does/not/exist.rrd',
'file://path/to/file.rrd',
'file://somehost/file/path.rrd',
'file:///tmp/droidnano/Fri_Aug_18_09:46:43_2023.rrd',
'https://redap.rerun.io',
'http://wrong-scheme',
'rerun\+http://localhost:\{grpc_port\}/proxy',
'.*scheme:/.*',
'http(s)?://example.com/.*',
'file:///uri1.rrd',
'file:///uri2.rrd',
# Link fragments and data links in examples.
'https://raw.githubusercontent.com/googlefonts/noto-emoji/', # URL fragment.
'https://static.rerun.io/rgbd_dataset', # Base data link for rgbd dataset.
'https://storage.googleapis.com/', # Storage API entrypoint, not a link.
# Not accessible from CI.
'.github/workflows/.*.yml', # GitHub action workflows cause issues on CI.
'https://9p.io/sys/doc/lexnames.html', # Works locally but on CI we get: `Failed: Network error: error:0A000152:SSL routines:final_renegotiate:unsafe legacy renegotiation disabled:ssl/statem/extensions.c:946:`
'https://claude.site/artifacts/*', # Giving a 500, but only from CI
'https://fifteen-thirtyeight.rerun.io/script.js', # Gives 403 forbidden on CI.
'https://lib.rs/*', # Gives 403 forbidden on CI.
'https://math.stackexchange.com/*', # Gives 403 forbidden on CI.
'https://pixabay.com/photos/brother-sister-girl-family-boy-977170/', # Gives 403 forbidden on CI.
'https://stackoverflow.com/*', # Stackoverflow links are no longer accessible from CI.
'https://vimeo.com/*', # Gives 403 forbidden on CI.
'https://www.npmjs.com/*', # Gives 403 forbidden on CI.
'https://www.reddit.com/*', # Gives 403 forbidden on CI.
'https://www.shadertoy.com/*', # 403 on CI
'https://www.tensorflow.org/*', # tensorflow.org apparently blocks CI.
'https://www.unicode.org/license.txt', # Gives network error on CI.
# Need GitHub login.
'https://github.com/rerun-io/landing',
'https://github.com/rerun-io/documentation',
'https://github.com/rerun-io/dataplatform',
# Needs authentication
'https://.*\.eks\.amazonaws\.com/', # EKS API server endpoints in CI workflows.
'https://.*\.blob\.core\.windows\.net/', # Azure blob storage, requires auth.
'https://edge.meilisearch.com',
'https://eu.posthog.com/project/', # Requires to be logged in on PostHog.
'https://github.com/rerun-io/internal-test-assets/\.*',
'https://github.com/google/mediapipe/issues/5188', # For some reason that link has always failed.
'https://www.figma.com/.*',
# Temporarily down or not accessible.
'https://dl.acm.org/doi/10.1145/3638550.3643617', # We might be getting rate-limited here.
'https://forum.doom9.org/.*',
'https://github.com/rerun-io/rerun/releases/download/prerelease', # Pre-release downloads may go down while a pre-release updates or pre-release CI partially breaks.
'https://wiki.ros.org/.*', # Constant timeouts.
'https://www.doxygen.nl/.*', # Getting 403, but the links work.
# Works but is really slow at times:
'https://anaconda.org/conda-forge/libarrow',
'https://cvg.cit.tum.de/data/datasets/visual-inertial-dataset',
'https://openaccess.thecvf.com/content/CVPR2023/html/Du_Learning_To_Render_Novel_Views_From_Wide-Baseline_Stereo_Pairs_CVPR_2023_paper.html',
'https://picsum.photos/*',
# These are APIs:
'https://api.linear.app/graphql',
'https://api.workos.com/.*',
'https://rerun.io/api',
'https://rerun.io/login',
# '^file:///', # Ignore local file links. They need to be tested, but it's useful for external links we have to ping.
]