Repository navigation
chore(build): guard webpage-build against missing MkDocs sources - #1570
Merged
Merged
Conversation
make webpage-build ran the same unmet MkDocs dependency that the docs-* targets already guard, but it predates docs-guard and was left out of that pass. On a checkout without docs/en it deleted webpage/site/public/en/manual and webpage/site/public/ko/manual, then failed opaquely inside zensical against a nonexistent docs_dir.
webpage-build now depends on docs-guard, so a missing manual source tree is reported with the same explanation the thirteen guarded docs-* targets already give, before anything is deleted or uv is invoked. The guard remains a presence check: webpage-build still runs end to end wherever docs/en is available. The target's help string now carries the same "(manual sources not in this checkout)" suffix as the other guarded targets.
webpage-deploy is deliberately left off docs-guard. scripts/deploy_webpage.sh never touches zensical or docs_dir, so it cannot fail the way webpage-build does, and docs-guard checks docs/en (a build input) rather than the manual output the script actually reads. Instead webpage-deploy now warns, without blocking, when webpage/site/public/en/manual or .../ko/manual is missing, since a maintainer may legitimately be re-deploying a site built earlier.
Verified on a checkout without docs/en: make webpage-build fails at docs-guard before the rm -rf runs, webpage/site/public/{en,ko}/manual stay absent, and make help shows the new suffix. Overriding DOCS_MANUAL_DIR to an existing directory confirmed the guard still passes through to the rm -rf and uv steps unchanged.
Member
Author
Implementation Review SummaryIntentAdd the existing Findings AddressedNone. No CRITICAL or HIGH findings were found, and no MEDIUM findings warranted a change. Nothing was committed. Remaining Items
Verification
Behavior checks run
|
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
make webpage-builddeletedwebpage/site/public/{en,ko}/manualand then failed opaquely inside zensical against a nonexistentdocs_dir, because it ran the same unmet MkDocs dependency the thirteendocs-*targets already guard, but it was not itself adocs-*target and stayed out of that earlier pass. This addsdocs-guardtowebpage-buildso it fails fast with the same explanation instead, and makes a deliberate, documented choice forwebpage-deployrather than leaving that question open.What changed
Makefile:webpage-buildnow declaresdocs-guardas a prerequisite and its##help string carries the same(manual sources not in this checkout)suffix as the other guarded targets, somake helpstates the dependency up front.Makefile:webpage-deployis intentionally left offdocs-guard, sincescripts/deploy_webpage.shnever touches zensical ordocs_dirand cannot fail the waywebpage-builddoes, anddocs-guardchecksdocs/en(a build input) rather than the manual output the script actually reads. It now warns, without blocking, whenwebpage/site/public/en/manualor.../ko/manualis missing, and a comment above the target records the reasoning.Test plan
docs/en:make webpage-buildfails atdocs-guardbefore therm -rfruns, andwebpage/site/public/{en,ko}/manualstay absent before and after (lschecked both times).make helpshows the new(manual sources not in this checkout)suffix onwebpage-build.DOCS_MANUAL_DIRto an existing directory lets the guard pass through unchanged into therm -rfanduv run zensicalsteps (fails only on the unrelated absence ofzensicalin this environment, confirming the guard itself is a presence check, not a hard refusal).make -n webpage-deployconfirms the new warning block is syntactically valid Make/shell, and the warning condition was exercised in isolation against the current manual-less checkout.Closes #1138