quarto-dev / quarto-dev/quarto-cli
Changes in `include`d files don't trigger re-execution when `freeze: auto` is set
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 6k
- Forks
- 458
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 41
Description
Bug description
If you set freeze: auto at the project level, changes in included .qmd files don't trigger re-execution. It seems like change must happen in one of the files listed in _quarto.yml for re-execution to be triggered.
Steps to reproduce
You can see this behavior in the commit history of https://github.com/mine-cetinkaya-rundel/freeze-include.
Alternatively, steps below.
- Create a book project and add a
.qmdfile that is included in a chapter with the{{< include >}}short code, e.g._section.qmdto be included with{{< include _section.qmd >}}. - Set
freeze: autoat the project level in_quarto.yml. - Render the project.
- Then, make a change in
_section.qmd. Render book. Changes aren't in the rendered output. - Them, make a change in the chapter file. Render book. Changes are now reflected in the rendered output.
Expected behavior
I would have expected changes in the included file to trigger re-execution.
Actual behavior
They do not trigger re-execution.
Your environment
- RStudio: 2023.09.0 Build 380
- Mac OS: Ventura 13.5 (22G74)
Quarto check output
Quarto 1.4.346
[✓] Checking versions of quarto binary dependencies...
Pandoc version 3.1.6: OK
Dart Sass version 1.55.0: OK
Deno version 1.33.4: OK
[✓] Checking versions of quarto dependencies......OK
[✓] Checking Quarto installation......OK
Version: 1.4.346
Path: /Applications/quarto/bin
[✓] Checking tools....................OK
TinyTeX: v2023.08
Chromium: (not installed)
[✓] Checking LaTeX....................OK
Using: TinyTex
Path: /Users/mine/Library/TinyTeX/bin/universal-darwin
Version: 2023
[✓] Checking basic markdown render....OK
[✓] Checking Python 3 installation....OK
Version: 3.9.6
Path: /Library/Developer/CommandLineTools/usr/bin/python3
Jupyter: 5.3.0
Kernels: python3
[✓] Checking Jupyter engine render....OK
[✓] Checking R installation...........OK
Version: 4.3.1
Path: /Library/Frameworks/R.framework/Resources
LibPaths:
- /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/library
knitr: 1.43
rmarkdown: 2.24
[✓] Checking Knitr engine render......OK
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.
Research direction
Reproduce the issue with a book project, _quarto.yml, a chapter .qmd, and an included _section.qmd using freeze: auto. Start by tracing how changes are detected during project rendering; done means changing _section.qmd causes the next render to re-execute and update the output, with a regression test covering the case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100