posit-dev / posit-dev/connect-extensions
ci: guard against Quarto extensions serving the wrong document
@amylin1249 is already working on this.
Since Jul 20, 2026.
- Dominant language
- R
- Stars
- 10
- Forks
- 8
- Avg merge
- 5d 18h
- Merged PRs (30d)
- 1
Description
Surfaced in #392: a Quarto extension with no pinned primary document can silently serve a sibling .md (e.g. CHANGELOG.html) instead of its entrypoint, since Quarto renders CHANGELOG.md (it ignores README.md). No check catches it; everything builds fine.
o prevent this in the future, add a lint-extension check that runs quarto inspect and enforces the standard that a Quarto extension renders only the document it serves: a non-website extension fails if it renders a sibling Markdown page. Websites are exempt (they render many pages and serve index.html by convention). Add a CONTRIBUTING.md note to pin project.render.
Note: This edits shared infra, so CI will lint all extensions. quarto-stock-report-python/-r render a CHANGELOG today, so this PR also pins their project.render (and adds a matching pin to pqr) so they meet the standard. quarto-website legitimately renders many pages and is exempt.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.