Update CI/CD workflow: add weekly schedule and modernize Quarto setup - #7
Merged
Merged
Conversation
- Add a schedule trigger (cron '0 19 * * 0') so the site renders and deploys every Sunday at 19:00 UTC. - Gate the deploy job on github.ref instead of github.event.ref. github.event.ref is only populated for push events, so scheduled and manually dispatched runs would have rendered but never deployed. - Replace the manual gdebi/curl/apt deb install with quarto-dev/quarto-actions/setup@v2 (version: release), which installs the latest stable Quarto and caches it. The gdebi package was being installed but never used. - Print quarto --version alongside quarto check so the resolved version is visible in the run log. - Bump actions/checkout v2 -> v4 (v2 runs on a deprecated Node runtime). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017Dtce1JoXntuwsDTZM67QH
There was a problem hiding this comment.
🟢 Approval recommended
The workflow changes are coherent and should enable scheduled deployments while keeping Quarto installation and verification aligned with supported actions.
Pull request overview
This PR updates the repository’s GitHub Actions workflow that renders the Quarto site and deploys it to Azure Static Web Apps, adding an automated weekly run and modernizing the Quarto installation approach.
Changes:
- Added a weekly scheduled workflow trigger (Sundays 19:00 UTC).
- Replaced manual Quarto installation with
quarto-dev/quarto-actions/setup@v2and updated checkout toactions/checkout@v4. - Expanded the Quarto verification step to include a version check and adjusted the deployment gate to use
github.ref.
File summaries
| File | Description |
|---|---|
| .github/workflows/azure-static-web-apps-lemon-flower-08f5ff603.yml | Adds a weekly schedule trigger, switches to the official Quarto setup action, updates checkout, and ensures scheduled/manual runs on main can deploy. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
The render succeeds with warnings today, so they scroll past in the log and nobody sees them. Capture the render output and turn each distinct diagnostic - non-fatal warnings included - into a tracked issue that an agent or a human can pick up by label. - scripts/parse_render_log.py extracts diagnostics from the captured log, attributes each to the document Quarto was rendering at the time, strips version-dependent paths so a Quarto upgrade does not re-fingerprint the same problem, and collapses repeats into an occurrence count. - scripts/report_render_issues.py files one issue per fingerprint, keyed by an HTML comment in the body. An already-open issue is left alone and a closed one is reopened with a pointer to the run that revived it, so a weekly schedule cannot duplicate tickets. Issues are never auto-closed: the freeze cache means an unchanged document is not re-rendered, so a missing warning is not evidence of a fix. - The render step now captures its log and defers failure, so a broken render raises an error issue before the job goes red. The artifact is only uploaded when the render succeeded, keeping a partial site from reaching the deploy job. - Only the default branch files real issues; other refs print what they would have filed, so feature branches cannot spam the tracker. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017Dtce1JoXntuwsDTZM67QH
GitHub expressions yield operands rather than booleans, and the empty string is falsy, so "github.ref == 'refs/heads/main' && '' || '--dry-run'" collapsed to '--dry-run' on both sides of the condition: main would have reported findings forever and never filed a ticket. Phrase the condition negatively so the non-empty value never sits in the falsy slot, and lift it into a DRY_RUN env var with a note about the trap. Add a raise_issues dispatch input so the filing path can be exercised without merging to main first. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017Dtce1JoXntuwsDTZM67QH
|
Azure Static Web Apps: Your stage site is ready! Visit it here: https://lemon-flower-08f5ff603-7.westeurope.4.azurestaticapps.net |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR modernizes the GitHub Actions workflow for building and deploying the static site, adding scheduled weekly deployments and updating to use the official Quarto setup action instead of manual installation.
Key Changes
curl+apt-getinstallation with the officialquarto-dev/quarto-actions/setup@v2actionactions/checkout@v2toactions/checkout@v4github.event.reftogithub.refto ensure scheduled and manually dispatched runs on main branch also trigger deployment (not just push events)Implementation Details
'0 19 * * 0'with explanatory comments about UTC/BST/GMT time zonesgithub.event.refis only populated for certain event types, preventing scheduled deployments from working correctlyhttps://claude.ai/code/session_017Dtce1JoXntuwsDTZM67QH