fix(pages): deploy a committed site artifact instead of building casket-ssg in CI - #77
Merged
Merged
Conversation
…et-ssg in CI The "GitHub Pages" workflow (casket-pages.yml) has never produced a green deploy in ~93 runs (issue #74): 46 failures at Setup Pages before Pages was enabled, then 47 cancellations when the cold cabal build of casket-ssg (pandoc >= 3.0, pandoc-types, text-icu, extra-libraries: lol) hit the 15-minute job timeout. Per owner ruling ("prebuild/commit the site artifact"): * site/ now holds the deployed artifact — a hand-authored static index.html (honestly labelled as such; it does not claim casket-ssg provenance), .nojekyll, and a README.adoc stating the deploy-verbatim contract and the path back to casket-ssg rendering if its toolchain becomes viable. * casket-pages.yml is now deploy-only: checkout -> configure-pages -> upload-pages-artifact -> deploy-pages, single job, 5-minute timeout. Name, triggers, permissions, and concurrency are unchanged; the filename is kept to avoid lockfile/context churn. * gh actions-lock (v0.1.6) was run for the same-PR lock contract: no pin changes were needed (all four remaining actions already pinned). The tool warns that actions/cache and haskell-actions/setup entries are now unused but offers no prune in fix mode; the machine-managed lockfile is left untouched per the do-not-edit-by-hand contract. Pages is enabled with build_type=workflow, and the competing Ddraig workflow (pages.yml) is disabled_manually, so this deploy path is the only live writer to the pages concurrency group. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 37 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Team Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (4)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…remove gh actions-lock v0.1.6 fix mode warns about unused entries (actions/cache@v4.3.0, haskell-actions/setup@v2.7.5 — orphaned by the deploy-only rewrite) but does not prune them, while the same tool's CI verifier in the governance workflow hard-fails on them (valid: false). Hand-removed per the verifier's own remediation text; validated locally with gh actions-lock --no-fix (14 workflows, no findings). Co-Authored-By: Claude Fable 5 <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.
Fixes the failure mode behind #74 (not auto-closed — #74 will be closed manually after the first verified green "GitHub Pages" run on main, per the verify-then-close discipline).
The defect
casket-pages.yml("GitHub Pages") has 0 successes in ~93 runs, in two eras:cabal buildbytimeout-minutes: 15— casket-ssg's build-depends (pandoc >= 3.0,pandoc-types,text-icu,extra-libraries: lol) cannot cold-build in 15 minutes, and no cache was ever seeded because no run ever completed.The fix (owner ruling: "prebuild/commit the site artifact")
site/— the committed artifact: hand-authored staticindex.html(honestly labelled; makes no casket-ssg provenance claim),.nojekyll, andsite/README.adocstating the deploy-verbatim contract and how casket-ssg rendering can replace it later.casket-pages.yml— deploy-only: checkout → configure-pages → upload-pages-artifact → deploy-pages, one job, 5-minute timeout. Name ("GitHub Pages"), triggers, permissions, and concurrency group are unchanged.actions.lock contract
gh actions-lock(v0.1.6) was run in this PR per the standing same-PR contract: no pin changes needed — all four remaining actions were already pinned in.github/workflows/actions.lock. The tool warns thatactions/cache@v4.3.0andhaskell-actions/setup@v2.7.5entries are now unused by this workflow but offers no prune in fix mode; the machine-managed lockfile is left untouched by hand. (Its fix mode also wants to insert a banner line above the SPDX header of all 14 workflows, which would trip the Workflow security linter's line-1 SPDX check — that churn is deliberately not committed.)Verification plan
PR CI proves the lock/workflow parse and governance gates only —
casket-pages.ymltriggers on push to main. After merge: watch the "GitHub Pages" run on main (including startup_failure, whichgh pr checkscannot see), confirm the deploy at https://hyperpolymath.github.io/vexometer/, then close #74 with the record.Pre-verified enablers: Pages is enabled with
build_type: "workflow"; the competing Ddraig workflow (pages.yml) isdisabled_manually, so this is the only live writer to thepagesconcurrency group.🤖 Generated with Claude Code