Repository navigation
fix(ci): give the casket-ssg Pages build room for a cold cabal build - #191
Conversation
Every `build` run of casket-pages.yml in the last 100 has failed: 74 cancelled, 20 failure, 6 startup_failure. The current failure mode is "Build casket-ssg" being cancelled at the job's 15-minute limit. On 2026-10-01 (run 36916760419) the step started at 19:55:14 and was cancelled at 20:08:24. The last run in which `cabal build` finished (26728514663, 2026-06-01) took 21m51s for that step, plus about 2 min for GHCup setup. actions/cache saves ~/.cabal and dist-newstyle only after the job succeeds, so the cache was never written and each run restarted cold. The limit made the job impossible to pass. Raise the build job's timeout-minutes to 40. That covers one cold build with headroom. After the first completed run the cache is warm and the step takes seconds (burble's identical workflow: 3 s). The deploy job keeps its 15-minute limit. No `uses:` changed, so actions.lock is unaffected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X3hgXxWm6umMgZkjYyHnnm
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (1)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (43)
🔇 Additional comments (1)
📝 SummarySummary by CodeRabbit
WalkthroughThe Pages build job timeout increases from 15 to 40 minutes. Comments record reported cold-build and setup times, cache behaviour, and warm-build duration. ChangesPages build
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~2 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The Pages build now has 40 minutes instead of 15, giving the reported cold-build and setup time room to finish. No concrete regression is evident; the first run will confirm the actual duration. Architecture SummaryArchitecture risk: 🔵 Low · up to The changed surface does not map to a changed system, dependency edge, entrypoint, or external dependency. Changed systems: None identified. Architecture concerns Review detailsBefore / after behavior
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
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. A rabbit checks the build clock’s face, Comment |
|
|
Add Carrot credits or activate Agent usage billing to use Autopilot |



Summary
The
buildjob ofcasket-pages.yml("GitHub Pages") is red onmain(7973dcd). It is red because it cannot finish within its own time limit.##[error]The operation was canceled.timeout-minutes: 15.cancelled, 20failure, 6startup_failure. Every recent run is cancelled at the same step (2026-09-21, 09-29, 10-01 checked).cabal buildfinished was 26728514663 (2026-06-01). That step took 21m51s, plus about 2 min for GHCup setup.actions/cachesaves~/.cabalanddist-newstyleonly when the job succeeds. The job never succeeded, so nothing was ever saved and every run started cold. With a 15-minute limit the job could not pass.This PR raises the build job's
timeout-minutesto 40, which covers one cold build with headroom. Once that run completes and the cache is saved, later builds should take seconds; burble's casket-pages build step took 3 s with a warm cache.No issue is filed for this. The repo's workflow already needed this fix.
Type of change
📌 New pins
Head SHA: 691826b
No new or changed pins. No
uses:line changed, so there is noactions.lockentry, lockfile record or container digest to add.How has this been verified?
gh actions-lock .github/workflows/casket-pages.yml --verify --no-interactive --json=valid(v0.1.6):"valid": true.tools/policy/check-workflows-parse.sh(at the governance linter's helper pin874ffe58): "all 16 workflow(s) parse".scripts/check-workflow-duplicate-keys.sh: "duplicate-key check: 16 workflow file(s) clean".repos/…/actions/runs/<id>/jobs, stepstarted_at/completed_at):Checklist
git commit -S).git log --format=%G?showsG.SPDX-License-Identifier: no new files. The edited workflow keeps its existingMPL-2.0header.Notes for reviewers
deployjob keepstimeout-minutes: 15, which is ample fordeploy-pages.pages.yml(Ddraig SSG) shares thepagesconcurrency group but isdisabled_manually. It is not touched here.build_type: workflow, so that step should pass.timeout-minutes: 20for the same job. That is still below the measured 21m51s cold build. This is recorded as a separate finding.🤖 Generated with Claude Code
https://claude.ai/code/session_01X3hgXxWm6umMgZkjYyHnnm