Skip to main content

check-quarto-book.yml

Bundles the standard check suite for Quarto book repositories (such as Morrison-Lab/qbt). 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 book-specific checks:

Every check is enabled by default. Opt out of any specific check by passing its boolean flag as false.

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.
check-equation-renders boolean true Enable equation render validation.
equation-renders-site-dir string '' Directory of built HTML pages to crawl.

Example

name: Check Quarto book

on:
  push:
    branches: [main]
  pull_request:

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