Some issues we've identified:
- superfluous builds and extra doc sites during PR review (crowdin & adding reviewers can kick off extra builds we don't need; Nedas has more detail)
run scripts have some candidates to add to CI
./run scripts check: for linting+formatting on changes to .py and .sh files
./run doctest: for markdown file changes. This command automatically discovers files that have annotated C# scripts (ignores most docs automatically); this is safe and opt-in per doc file
./run check-links: maybe not ready for primetime in its current form. We should talk through it some more (discussion below)
- Target actions to specific paths/globs so we don't rebuild when we don't need to
For link checking, we have two categories of links: intra-doc links (to other docs we have authored in the repo) and external links. Intra-doc links also subdivide to old-path redirects and links to live paths. External links can be down transiently, and we have no control. Right now the check-links script makes a decision between these: intra-doc links are considered errors and external links are considered warnings.
With regard to re-directs: we validate internal links in two ways:
- Against the built docs site on local disk. This requires no network.
- For the subset of old-style links, we hit the live docs site to ensure we get correct redirect logic. This requires network.
External sources obviously require network.
Perhaps we adopt a threshold for external links, rather than any single dead link failing a build? I have seen some links that were dead come back alive while working on this script.
A recent scan of links is in #359
Some issues we've identified:
runscripts have some candidates to add to CI./run scripts check: for linting+formatting on changes to .py and .sh files./run doctest: for markdown file changes. This command automatically discovers files that have annotated C# scripts (ignores most docs automatically); this is safe and opt-in per doc file./run check-links: maybe not ready for primetime in its current form. We should talk through it some more (discussion below)For link checking, we have two categories of links: intra-doc links (to other docs we have authored in the repo) and external links. Intra-doc links also subdivide to old-path redirects and links to live paths. External links can be down transiently, and we have no control. Right now the check-links script makes a decision between these: intra-doc links are considered errors and external links are considered warnings.
With regard to re-directs: we validate internal links in two ways:
External sources obviously require network.
Perhaps we adopt a threshold for external links, rather than any single dead link failing a build? I have seen some links that were dead come back alive while working on this script.
A recent scan of links is in #359