quarto-dev / quarto-cli

Open-source scientific and technical publishing system built on Pandoc.
https://quarto.org
Other
3.88k stars 318 forks source link

`last-modified` is not working as expected when rendering on github actions as Git does not store last modified date #5967

Open cderv opened 1 year ago

cderv commented 1 year ago

In a github action rendering, there will be a checkout at each rendering. This implies that the last modified date of each file will be the same as the git checkout date. This is because of the fact that git does not store last modified date information.

There are workaround to restore date of file to last commit date for the files:

Maybe we could try be clever when inside a git project, or leverage the _freeze state for project to store information.

Discussed in https://github.com/quarto-dev/quarto-cli/discussions/5899

Originally posted by **adityam** June 13, 2023 ### Description I am using github actions to publish my website. 1. Website: https://adityam.github.io/stochastic-control/ 2. Github action: https://github.com/adityam/stochastic-control/blob/quarto/.github/workflows/quarto-render.yml In `_quarto.yml`, I have set ``` format: html: published-title: Updated date: last-modified ``` but all my pages have today's date. I suspect that the last modified date is coming from the date the date when github CI clones the repo (and hence today's date) rather than when the file was checked into the repo (which is the true last-modified date). Is it possible to somehow use the date when the file was last committed to git, for example, similar to [what is available for hugo](https://gohugo.io/variables/git/)
maptv commented 10 months ago

I have this same problem. There are two relevant solutions provided on SO. I’m going to try resolving this issue with this GitHub Action.

maptv commented 10 months ago

I see now that there’s already a solution in the associated discussion: https://github.com/quarto-dev/quarto-cli/discussions/5899#discussioncomment-7673260

jolars commented 4 months ago

Did you get this to work? I have tried the script at #5899 (and this one too), as well as the github action, but I still don't get this to work.

Could it be related to the workflow initiated by github when the website is pushed to the gh-pages branch includes a checkout?

maptv commented 4 months ago

For now, I am just using quarto publish locally, but still intend to figure this out when I have time. I was writing a blog post on using git and this issue prompted me to pause working on it and then I got busy with other things.