quarto-dev / quarto-dev/quarto-cli

Changes in `include`d files don't trigger re-execution when `freeze: auto` is set

Open
#6,793 5 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

bug freeze
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.

  1. Create a book project and add a .qmd file that is included in a chapter with the {{< include >}} short code, e.g. _section.qmd to be included with {{< include _section.qmd >}}.
  2. Set freeze: auto at the project level in _quarto.yml.
  3. Render the project.
  4. Then, make a change in _section.qmd. Render book. Changes aren't in the rendered output.
  5. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.