Skip to content

Commit f19b3dc

Browse files
authored
Merge pull request #1578 from maxmind/greg/validate-internal-links
Validate internal links at build time and in CI
2 parents fa53e35 + 97b034f commit f19b3dc

File tree

17 files changed

+116
-91
lines changed

17 files changed

+116
-91
lines changed

.github/workflows/links.yml

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,18 @@ on:
66
jobs:
77
linkChecker:
88
runs-on: ubuntu-latest
9-
permissions:
10-
issues: write # required for peter-evans/create-issue-from-file
119
steps:
1210
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
1311
with:
12+
submodules: true
13+
fetch-depth: 0
1414
persist-credentials: false
1515

16-
- name: Link Checker
17-
id: lychee
18-
uses: lycheeverse/lychee-action@a8c4c7cb88f0c7386610c35eb25108e448569cb0
19-
with:
20-
fail: true
21-
args: "'./**/*.md' './**/*.html'"
16+
- name: Setup mise
17+
uses: jdx/mise-action@6d1e696aa24c1aa1bcc1adea0212707c71ab78a8 # v3.6.1
2218

23-
- name: Create Issue From File
24-
if: steps.lychee.outputs.exit_code != 0
25-
uses: peter-evans/create-issue-from-file@fca9117c27cdc29c6c4db3b86c48e4115a786710
26-
with:
27-
title: Link Checker Report
28-
content-filepath: ./lychee/out.md
29-
labels: report, automated issue
19+
- name: Install dependencies
20+
run: pnpm install --frozen-lockfile
21+
22+
- name: Check links
23+
run: mise run check-links

content/geoip/geolite2-free-geolocation-data.md

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@ The method for updating the GeoLite databases depends on the database format
118118
you’re using. To help you decide which database format to use,
119119
[see the section above](#decide-how-you-want-to-use-geolite-databases).
120120

121-
- [Learn how to update the binary database format for fast lookups at scale.](https://dev.maxmind.com/geoip/updating-databases/#using-geoip-update)
122-
- [Learn how to update the csv database format to join the data or import into SQL.](https://dev.maxmind.com/geoip/updating-databases/#directly-downloading-databases)
121+
- [Learn how to update the binary database format for fast lookups at scale.](/geoip/updating-databases/#using-geoip-update)
122+
- [Learn how to update the csv database format to join the data or import into SQL.](/geoip/updating-databases/#directly-downloading-databases)
123123

124124
### Look up IP addresses in the GeoLite databases
125125

@@ -128,8 +128,8 @@ on the database format you’re using and what you’re using it for. To help yo
128128
decide which database format to use,
129129
[see this section above](#decide-how-you-want-to-use-geolite-databases).
130130

131-
- [Use MaxMind’s client APIs to look up IP addresses in the binary databases for fast lookups at scale.](https://dev.maxmind.com/geoip/geolocate-an-ip/databases/)
132-
- [Learn how to import the csv format databases into MySQL or PostgreSQL.](https://dev.maxmind.com/geoip/importing-databases/)
131+
- [Use MaxMind’s client APIs to look up IP addresses in the binary databases for fast lookups at scale.](/geoip/geolocate-an-ip/databases/)
132+
- [Learn how to import the csv format databases into MySQL or PostgreSQL.](/geoip/importing-databases/)
133133
- If you’re using GeoLite in a plugin or application, check the installation
134134
instructions for your plugin.
135135

@@ -142,11 +142,11 @@ decide which database format to use,
142142
MaxMind maintains client APIs in many popular languages to help you look up IP
143143
addresses in our web services quickly and easily.
144144

145-
[Learn how to look up IP addresses in our web services.](https://dev.maxmind.com/geoip/geolocate-an-ip/web-services/)
145+
[Learn how to look up IP addresses in our web services.](/geoip/geolocate-an-ip/web-services/)
146146

147147
MaxMind web services do support a client-side JavaScript lookup, but only for
148148
the paid GeoIP web services.
149-
[Learn more about client-side JavaScript lookups using the GeoIP web services](https://dev.maxmind.com/geoip/geolocate-an-ip/client-side-javascript/),
149+
[Learn more about client-side JavaScript lookups using the GeoIP web services](/geoip/geolocate-an-ip/client-side-javascript/),
150150
and [upgrade to GeoIP](https://www.maxmind.com/en/geoip-api-web-services).
151151

152152
## GeoLite database fields
@@ -171,8 +171,7 @@ field description.
171171
<tr>
172172
<td>
173173
<p>
174-
<a
175-
href="https://dev.maxmind.com/geoip/docs/databases/city-and-country/"
174+
<a href="/geoip/docs/databases/city-and-country/"
176175
>GeoLite Country database</a
177176
>
178177
</p>
@@ -189,8 +188,7 @@ field description.
189188
<tr>
190189
<td>
191190
<p>
192-
<a
193-
href="https://dev.maxmind.com/geoip/docs/databases/city-and-country/"
191+
<a href="/geoip/docs/databases/city-and-country/"
194192
>GeoLite City database</a
195193
>
196194
</p>
@@ -214,9 +212,7 @@ field description.
214212
</tr>
215213
<tr>
216214
<td>
217-
<a href="https://dev.maxmind.com/geoip/docs/databases/asn/"
218-
>GeoLite ASN database</a
219-
>
215+
<a href="/geoip/docs/databases/asn/">GeoLite ASN database</a>
220216
</td>
221217
<td>
222218
Provides the autonomous system number and organization for IP
@@ -250,8 +246,7 @@ GeoLite City web service, except as noted in the field description.
250246
<tr>
251247
<td>
252248
<p>
253-
<a
254-
href="https://dev.maxmind.com/geoip/docs/web-services/#geolite-country"
249+
<a href="/geoip/docs/web-services/#geolite-country"
255250
>GeoLite Country web service</a
256251
>
257252
</p>
@@ -268,8 +263,7 @@ GeoLite City web service, except as noted in the field description.
268263
<tr>
269264
<td>
270265
<p>
271-
<a
272-
href="https://dev.maxmind.com/geoip/docs/web-services/#geolite-city"
266+
<a href="/geoip/docs/web-services/#geolite-city"
273267
>GeoLite City web service</a
274268
>
275269
</p>

content/geoip/geolocate-an-ip/client-side-javascript.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ need to break backwards compatibility with previous versions of the JavaScript
221221
API.
222222

223223
Version 2.1 of the JavaScript API uses version 2.1 of the
224-
[GeoIP web services REST API](/geoip/geoip2/web-services/).
224+
[GeoIP web services REST API](/geoip/docs/web-services/).
225225

226226
### Browser support
227227

content/geoip/release-notes/2013.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ On July 30th, the GeoIP databases should return postals for Canada.
5050

5151
{{< release-note date="2013-07-08" title="GeoLite2 City Database Available" >}}
5252
The
53-
[GeoLite2 City database](/geoip/geoip2/geolite2/ 'GeoLite2 Free Downloadable Databases')
53+
[GeoLite2 City database](/geoip/geolite2-free-geolocation-data/ 'GeoLite2 Free Downloadable Databases')
5454
is now available for download. This is the first database available in our new
5555
[MaxMind DB format](https://github.com/maxmind/MaxMind-DB 'MaxMind DB GitHub repository').
5656
{{</ release-note >}}

content/geoip/release-notes/2016.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ already support this field.
5555
**For the CSV databases, a new `accuracy_radius` column will be added to the end
5656
of the IPv4 and IPv6 blocks files. Please test your integration to ensure
5757
compatibility before updating.** You may test your integration by downloading
58-
the [latest copy](/geoip/geoip2/geolite2/) of the GeoLite2 CSV database, which
59-
already has the accuracy_radius column appended.
58+
the [latest copy](/geoip/geolite2-free-geolocation-data/) of the GeoLite2 CSV
59+
database, which already has the accuracy_radius column appended.
6060

6161
Target availability dates:
6262

content/geoip/release-notes/2017.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ http://js.maxmind.com/js/geoip.js. If you still have not upgraded your
2929
integration to use the
3030
[GeoIP2 JavaScript Client API](/geoip/geolocate-an-ip/client-side-javascript) or
3131
are encountering problems with your legacy GeoIP JavaScript services, you can
32-
find more information about what to do by clicking
33-
[here](/geoip/legacy/migrating-away-from-our-legacy-geoip-javascript-services/).
32+
find more information about what to do in
33+
[our developer documentation](/geoip/geolocate-an-ip/client-side-javascript).
3434
{{</ release-note >}}
3535

3636
{{< release-note date="2017-10-10" title="Our Singapore server is live" >}} Our
@@ -101,9 +101,9 @@ DNS servers `8.8.8.8` and `8.8.4.4`. {{</ release-note >}}
101101
[GeoLite2 ASN database](/geoip/docs/databases) is now provided in a CSV format
102102
suitable for importing into a SQL database as well as a GeoLite2 ASN database in
103103
our MaxMind DB binary format. You can
104-
[download the database here](/geoip/geoip2/geolite2/). GeoLite2 databases may
105-
also be downloaded and updated with our
106-
[GeoIP Update program](/geoip/geoipupdate/). {{</ release-note >}}
104+
[download the database here](/geoip/geolite2-free-geolocation-data/). GeoLite2
105+
databases may also be downloaded and updated with our
106+
[GeoIP Update program](/geoip/updating-databases/). {{</ release-note >}}
107107

108108
{{< release-note date="2017-05-08" title="Spectrum rebranding" >}} We've updated
109109
the ISP and Organization data to replace the _Charter Communications_ and

content/geoip/release-notes/2018.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ to [redistribution license customers](https://www.maxmind.com/en/commercial-geo
6262
although anyone can continue to download the March 2018 GeoLite Legacy builds.
6363
Starting January 2, 2019, the last build will be removed from our website.
6464
GeoLite Legacy database users will need to switch to
65-
the [GeoLite2](/geoip/geoip2/geolite2/) or [commercial GeoIP databases](https://www.maxmind.com/en/solutions/ip-geolocation-databases-api-services)
65+
the [GeoLite2](/geoip/geolite2-free-geolocation-data/) or [commercial GeoIP databases](https://www.maxmind.com/en/solutions/ip-geolocation-databases-api-services)
6666
and update their integrations by January 2, 2019. Correspondingly, we have
6767
decided against removing latitude and longitude coordinates from the GeoLite2
6868
databases. We are in the process of reviewing coordinates used in all of our

content/geoip/release-notes/2019.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -281,9 +281,9 @@ free GeoLite2 databases). {{</ release-note >}}
281281
{{< release-note date="2019-01-14" title="New GeoIP Update released" >}} We've
282282
released a new major version of GeoIP Update. This release adds support for
283283
Windows and has a new code base. You can find it on
284-
[GitHub](https://github.com/maxmind/geoipupdate). We’ve written an
285-
[upgrade guide](/geoip/geoipupdate/upgrading-to-geoip-update-4-x/) if you’re
286-
running an older version. {{</ release-note >}}
284+
[GitHub](https://github.com/maxmind/geoipupdate). See our
285+
[documentation](/geoip/updating-databases/) if you're running an older version.
286+
{{</ release-note >}}
287287

288288
{{< release-note date="2019-01-14" title="Limiting availability of archived GeoIP databases" >}}
289289
In order to address new legal requirements, including the European Union's

content/geoip/release-notes/2024.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ If you don't have an existing Snowflake account, you will need to create one
4747
before requesting access to the GeoLite datasets. Once approved, you’ll be able
4848
to query GeoLite data within Snowflake.
4949

50-
[Learn more about Geolite on Snowflake on our developer portal.](https://dev.maxmind.com/geoip/geolite-on-snowflake/)
50+
[Learn more about Geolite on Snowflake on our developer portal.](/geoip/geolite-on-snowflake/)
5151

5252
We intend to make GeoIP databases available on Snowflake at a later date.
5353

content/geoip/release-notes/2025.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ The update will be reflected in the following products and services:
120120
{{< release-note date="2025-11-20" title="IP risk snapshot output added to traits object in the Insights web services">}}
121121

122122
We have added the
123-
[`ip_risk_snapshot`](https://dev.maxmind.com/geoip/docs/web-services/responses/#schema--response--traits__ip_risk_snapshot)
123+
[`ip_risk_snapshot`](/geoip/docs/web-services/responses/#schema--response--traits__ip_risk_snapshot)
124124
to the traits object in our GeoIP Insights web service and our minFraud Insights
125125
and Factors web services. This field contains the risk associated with the IP
126126
address. The value ranges from 0.01 to 99. A higher score indicates a higher
@@ -149,9 +149,9 @@ Client APIs have been updated to reflect this change.
149149
{{< release-note date="2025-11-19" title="New anonymizer data added to web services">}}
150150

151151
We have added an
152-
[`anonymizer` object](https://dev.maxmind.com/geoip/docs/web-services/responses/#anonymizer)
153-
to our web services. This object contains the anonymizer data previously found
154-
in the `traits` object together with new outputs.
152+
[`anonymizer` object](/geoip/docs/web-services/responses/#anonymizer) to our web
153+
services. This object contains the anonymizer data previously found in the
154+
`traits` object together with new outputs.
155155

156156
Anonymizer data in the `traits` object is being marked as deprecated. However,
157157
for backwards compatibility, anonymizer data in the `traits` object will
@@ -254,7 +254,7 @@ November 11, 2025.
254254
{{< release-note date="2025-11-10" title="[Update] Upcoming change to identify Verizon 5G Home as a separate ISP">}}
255255

256256
As
257-
[previously announced](https://dev.maxmind.com/geoip/release-notes/2025/#upcoming-change-to-identify-verizon-5g-home-as-a-separate-isp),
257+
[previously announced](/geoip/release-notes/2025/#upcoming-change-to-identify-verizon-5g-home-as-a-separate-isp),
258258
tomorrow, November 11, 2025, some networks previously labeled `Verizon Wireless`
259259
will have their ISP name updated to `Verizon 5G Home` to improve coverage and
260260
accuracy.
@@ -414,7 +414,7 @@ databases will be released today as scheduled.
414414

415415
Due to irregularities in the latest GeoNames data, we will be maintaining the
416416
location names and codes from July.
417-
[See the monthly diff report for July 2025.](https://dev.maxmind.com/geoip/release-notes/2025/#geonames-monthly-diff-report-july-2025)
417+
[See the monthly diff report for July 2025.](/geoip/release-notes/2025/#geonames-monthly-diff-report-july-2025)
418418

419419
{{</ release-note >}}
420420

@@ -843,7 +843,7 @@ The following services will be impacted:
843843
{{< release-note date="2025-02-05" title="Update—Identifying Verizon 5g Home Internet" >}}
844844

845845
As announced in our
846-
[previous release note](https://dev.maxmind.com/geoip/release-notes/2025/#identifying-verizon-5g-home-internet),
846+
[previous release note](/geoip/release-notes/2025/#identifying-verizon-5g-home-internet),
847847
we are reclassifying a portion of Verizon Wireless networks in the United
848848
States.
849849

0 commit comments

Comments
 (0)