@@ -171,6 +171,47 @@ cargo build --release
171
171
cp target/release/link-checker /usr/local/bin/
172
172
```
173
173
174
+ #### Binary Release Process
175
+
176
+ ** For maintainers:** To create a new link-checker release in docs-v2:
177
+
178
+ 1 . ** Create release in docs-tooling** (builds and releases binary automatically):
179
+ ``` bash
180
+ cd docs-tooling
181
+ git tag link-checker-v1.2.x
182
+ git push origin link-checker-v1.2.x
183
+ ```
184
+
185
+ 2 . ** Manually distribute to docs-v2** (required due to private repository access):
186
+ ``` bash
187
+ # Download binary from docs-tooling release
188
+ curl -L -H " Authorization: Bearer $( gh auth token) " \
189
+ -o link-checker-linux-x86_64 \
190
+ " https://github.com/influxdata/docs-tooling/releases/download/link-checker-v1.2.x/link-checker-linux-x86_64"
191
+
192
+ curl -L -H " Authorization: Bearer $( gh auth token) " \
193
+ -o checksums.txt \
194
+ " https://github.com/influxdata/docs-tooling/releases/download/link-checker-v1.2.x/checksums.txt"
195
+
196
+ # Create docs-v2 release
197
+ gh release create \
198
+ --repo influxdata/docs-v2 \
199
+ --title " Link Checker Binary v1.2.x" \
200
+ --notes " Link validation tooling binary for docs-v2 GitHub Actions workflows." \
201
+ link-checker-v1.2.x \
202
+ link-checker-linux-x86_64 \
203
+ checksums.txt
204
+ ```
205
+
206
+ 3 . ** Update workflow reference** (if needed):
207
+ ``` bash
208
+ # Update .github/workflows/pr-link-check.yml line 98 to use new version
209
+ sed -i ' s/link-checker-v[0-9.]*/link-checker-v1.2.x/' .github/workflows/pr-link-check.yml
210
+ ```
211
+
212
+ > [ !Note]
213
+ > The manual distribution is required because docs-tooling is a private repository and the default GitHub token doesn't have cross-repository access for private repos.
214
+
174
215
#### Core Commands
175
216
176
217
``` bash
@@ -184,6 +225,31 @@ link-checker check public/path/to/file.html
184
225
link-checker config
185
226
```
186
227
228
+ ### Link Resolution Behavior
229
+
230
+ The link-checker automatically handles relative link resolution based on the input type:
231
+
232
+ ** Local Files → Local Resolution**
233
+ ``` bash
234
+ # When checking local files, relative links resolve to the local filesystem
235
+ link-checker check public/influxdb3/core/admin/scale-cluster/index.html
236
+ # Relative link /influxdb3/clustered/tags/kubernetes/ becomes:
237
+ # → /path/to/public/influxdb3/clustered/tags/kubernetes/index.html
238
+ ```
239
+
240
+ ** URLs → Production Resolution**
241
+ ``` bash
242
+ # When checking URLs, relative links resolve to the production site
243
+ link-checker check https://docs.influxdata.com/influxdb3/core/admin/scale-cluster/
244
+ # Relative link /influxdb3/clustered/tags/kubernetes/ becomes:
245
+ # → https://docs.influxdata.com/influxdb3/clustered/tags/kubernetes/
246
+ ```
247
+
248
+ ** Why This Matters**
249
+ - ** Testing new content** : Tag pages generated locally will be found when testing local files
250
+ - ** Production validation** : Production URLs validate against the live site
251
+ - ** No false positives** : New content won't appear broken when testing locally before deployment
252
+
187
253
### Content Mapping Workflows
188
254
189
255
#### Scenario 1: Map and check InfluxDB 3 Core content
0 commit comments