Skip to content

Commit 5bf8e70

Browse files
sharadregoticlaude
andcommitted
DX-2361: Fix exit code not failing on broken external links
External link failures were reported but never factored into the exit code, so CI was passing despite 404s. Added has_broken_external check and a summary line for external link results. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 5f1a7e2 commit 5bf8e70

1 file changed

Lines changed: 16 additions & 1 deletion

File tree

scripts/validate_mintlify_docs.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -987,6 +987,16 @@ def main():
987987
else:
988988
print("✅ No broken image references found!")
989989

990+
if args.external_links or args.external_only:
991+
if external_results:
992+
failed_count = sum(1 for results in external_results.values() for r in results if not r['accessible'])
993+
if failed_count:
994+
print(f"❌ Found {failed_count} broken external links")
995+
else:
996+
print("✅ All external links are reachable!")
997+
else:
998+
print("✅ No external links found!")
999+
9901000
if args.check_anchors:
9911001
if broken_anchors:
9921002
total_broken_anchors = sum(len(v) for v in broken_anchors.values())
@@ -1011,14 +1021,19 @@ def main():
10111021
has_broken_links = broken_links and not args.images_only
10121022
has_broken_images = broken_images and not args.links_only
10131023
has_broken_anchors = bool(broken_anchors) and args.check_anchors
1024+
has_broken_external = bool(external_results) and any(
1025+
not result['accessible']
1026+
for results in external_results.values()
1027+
for result in results
1028+
)
10141029
has_validation_issues = (validation_results and 'error' not in validation_results and
10151030
(validation_results['self_referencing_redirects'] or
10161031
validation_results['navigation_redirect_conflicts'] or
10171032
validation_results['invalid_redirects'] or
10181033
validation_results['missing_navigation_files'] or
10191034
validation_results['missing_redirect_destinations']))
10201035

1021-
return 1 if (has_broken_links or has_broken_images or has_broken_anchors or has_validation_issues) else 0
1036+
return 1 if (has_broken_links or has_broken_images or has_broken_anchors or has_broken_external or has_validation_issues) else 0
10221037

10231038
if __name__ == '__main__':
10241039
exit(main())

0 commit comments

Comments
 (0)