canonical / discourse-gatekeeper

Experimental GitHub Action to upload charm documentation to charmhub
Apache License 2.0
7 stars 7 forks source link

Check external links #223

Closed jdkandersson closed 11 months ago

jdkandersson commented 12 months ago

Applicable spec: https://discourse.charmhub.io/t/specification-isd003-upload-charm-docs-contents-index-and-navigation-table/7986

Overview

Checks that external references on the contents index point to a resource that returns a 2XX response

Rationale

Ensures that no broken links make it into the navigation table.

Module Changes

Introduces a new function into the check module to check external links

Checklist

version will be updated on release

jdkandersson commented 12 months ago

I should have raised this earlier with just the interface changes, now it includes the inerface change with most of the implementation done

github-actions[bot] commented 12 months ago

Test coverage for 5f308249f607a8206a7c143fda0ea61d112d0989

Name                      Stmts   Miss Branch BrPart  Cover   Missing
---------------------------------------------------------------------
src/__init__.py              91      0     36      0   100%
src/action.py               155      0     46      0   100%
src/check.py                 67      0     27      0   100%
src/clients.py               12      0      0      0   100%
src/commit.py                42      0     12      0   100%
src/constants.py             10      0      0      0   100%
src/content.py               50      0     10      0   100%
src/discourse.py            159      0     34      0   100%
src/docs_directory.py        33      0      8      0   100%
src/download.py              23      0      2      0   100%
src/exceptions.py            15      0      0      0   100%
src/index.py                142      0     56      0   100%
src/metadata.py              28      0     12      0   100%
src/migration.py            102      0     33      0   100%
src/navigation_table.py      65      0     20      0   100%
src/reconcile.py            123      0     60      0   100%
src/repository.py           284      0     88      0   100%
src/sort.py                  43      0     26      0   100%
src/types_.py               199      0     54      0   100%
---------------------------------------------------------------------
TOTAL                      1643      0    524      0   100%

Static code analysis report

Working... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:02
Run started:2023-10-13 06:21:08.484754

Test results:
    No issues identified.

Code scanned:
    Total lines of code: 17546
    Total lines skipped (#nosec): 3
    Total potential issues skipped due to specifically being disabled (e.g., #nosec BXXX): 0

Run metrics:
    Total issues (by severity):
        Undefined: 0
        Low: 0
        Medium: 0
        High: 0
    Total issues (by confidence):
        Undefined: 0
        Low: 0
        Medium: 0
        High: 0
Files skipped (0):