Skip to main content

check-quarto-website.yml

Bundles the standard check suite for Quarto website repositories (such as Morrison-Lab/qwt). Replaces individual workflow files with a single composite action or reusable workflow call.

What it runs

Runs the full Morrison-Lab repository hygiene pass plus website-specific checks:

Every check is enabled by default. Opt out of any specific check by passing its boolean flag as false (for example, check-links: false to skip link validation in an offline environment).

Inputs

Input Type Default Description
fail boolean true Fail the job on findings (else warn only).
check-junk-files boolean true Enable junk files check.
junk-patterns string see check-junk-files.qmd Gitignore patterns naming junk files.
junk-paths-ignore string '' Paths to exempt from junk files scan.
check-secrets boolean true Enable gitleaks secrets scan.
secrets-config string '' Custom gitleaks config file path.
secrets-paths-ignore string '' Regex paths to exempt from secrets scan.
check-non-standard-chars boolean true Enable non-standard character check.
non-standard-chars-extensions string '.qmd, .md' File extensions to check for non-standard characters.
check-new-line-breaks boolean true Enable semantic line break check.
new-line-breaks-base-ref string '' Base ref for diff-scoping new line breaks.
new-line-breaks-globs string '' Globs to check for new line breaks.
check-typos boolean true Enable typos check.
typos-config string '' Typos configuration file path.
typos-base-ref string '' Base ref for diff-scoping typo checks.
check-ai-tells boolean true Enable AI tells check on prose.
ai-tells-threshold string '10' Maximum allowed tell density (per 1,000 words).
ai-tells-ignore string '' Comma- or space-separated list of tells to ignore.
lint-yaml boolean true Enable YAML linting.
yaml-config-file string '' Custom yamllint config file path.
yaml-paths-ignore string '' Patterns to exclude from YAML linting.
lint-workflows boolean true Enable workflow linting.
workflows-path string '.' Path to workflow files.
lint-markdown boolean true Enable Markdown linting.
markdown-config-file string '' Markdownlint config file path.
markdown-globs string '*.md' Git pathspecs of Markdown files to lint.
markdown-paths-ignore string '' Paths to exempt from Markdown linting.
markdown-base-ref string '' Base ref for list-item splice checks.
lint-qmd boolean true Enable QMD prose linting.
qmd-config-file string '' Markdownlint config file for QMD files.
qmd-globs string '*.qmd' Pathspecs of QMD files to lint.
qmd-paths-ignore string '' Patterns to skip for QMD linting.
check-links boolean true Enable lychee link checker.
lychee-config string '' Path to a custom lychee config file.
lychee-args string '--exclude-mail' Command-line arguments for lychee. Do not pass --format or --output.
check-quarto-links boolean true Enable the check for links to missing Quarto pages; blocking or not follows fail.
quarto-links-paths-ignore string '' Globs of source files to skip for the Quarto links check.
check-orphaned-images boolean true Enable the orphaned-images report.
orphaned-images-paths-ignore string '' Globs of images to skip.
orphaned-images-base-ref string '' Base ref so only images added since it are reported; empty examines every image.
orphaned-images-fail boolean false Fail on an orphaned image; the report warns only by default, whatever fail says.
check-typed-output boolean true Enable the check for typed or faked code output.
typed-output-globs string '*.qmd' Space-separated git pathspecs of tracked files to check.
typed-output-paths-ignore string '' Patterns to skip for typed output check.
typed-output-diff-scoped boolean false Report only findings on lines added since typed-output-base-ref.
typed-output-base-ref string '' Base ref for diff-scoped typed output check.
typed-output-fail boolean false Fail on typed code output; the check warns only by default, whatever fail says.
check-informal-definitions boolean true Enable check for informal definitions in prose.
informal-definitions-globs string '*.qmd' Space-separated git pathspecs of tracked files to check.
informal-definitions-paths-ignore string '' Patterns to skip for informal definitions check.
informal-definitions-diff-scoped boolean false Report only findings on lines added since informal-definitions-base-ref.
informal-definitions-base-ref string '' Base ref for diff-scoped informal definitions check.
informal-definitions-fail boolean false Fail on informal definitions; the check warns only by default, whatever fail says.
check-bibliography-dois boolean true Enable bibliography DOI validation.
bib-exclude-keys string '' BibTeX keys to skip for DOI validation.

Example

name: Check Quarto website

on:
  push:
    branches: [main]
  pull_request:

jobs:
  check:
    permissions:
      contents: read
    uses: Morrison-Lab/gha/.github/workflows/check-quarto-website.yml@v3