Split Hugo CI into separate build and deploy workflows#7
Merged
Conversation
No content files use raw HTML that requires the unsafe renderer — the one exception (a 2008 podcast post with <p> and <br />) is converted to plain markdown. Disabling unsafe prevents raw HTML/JS in any markdown file from rendering, which limits the blast radius of future content injection vulnerabilities. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Build runs on PRs (read-only) to validate the site compiles. Deploy runs on push to main and commits the built site to docs/. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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
build.yml— triggers onpull_request,contents: readonly, validates the site builds without deployingdeploy.yml— triggers on push tomain,contents: write, full build + commit todocs/hugo.yml— the combined workflow that ran deploy steps on PRsWhy
The old single workflow had
contents: writepermission on PR builds and would attempt the commit/push step regardless of trigger, which was unnecessary and a minor security concern. PRs now get a clean build-only check.Test plan
Build Hugo Siteruns and passes without pushing anythingmainand confirmDeploy Hugo Siteruns and commits the built site todocs/🤖 Generated with Claude Code