PSIAIMS / CAMIS

https://psiaims.github.io/CAMIS/
Apache License 2.0
43 stars 21 forks source link

Add freeze option to articles #173

Closed michaelwalshe closed 2 months ago

michaelwalshe commented 2 months ago

Currently, each time the site is rendered via quarto render, every .qmd file is re-rendered and executed. This may cause issues in the future, as the R and R packages are updated old code can cause warnings, errors, or changes in results in previously accurate comparisons. It could also be harder to add new packages with conflicting dependencies (less of an issue in R, but more so in Python).

I think it would be beneficial to avoid this, by adding to the Quarto yaml header the freeze option:

execute:
  freeze: true  # never re-render during project render

or

execute:
  freeze: auto  # re-render only when source changes

We would also need to include details of when the page was last updated and the package versions used to execute a page.

statasaurus commented 2 months ago

We actually kind of want those issues. If someone needs to up versions a package that causes someone else's page to break I would rather it errors such that it will fail the checks we have in place.

michaelwalshe commented 2 months ago

I guess that makes sense, it's whether the site is an up-to-date state of the comparison, or an archive of the changes. I had thought it could be too much work to keep all pages up to date, so better to freeze them as-of publication and then updating when necessary. But happy to close this if that's not the direction