Repository navigation
Fix the roadmap Liquid error, and make CI build the way Pages does - #16
Merged
Merged
Conversation
The Pages build has failed on every commit since the roadmap went
issue-driven: "Liquid syntax error (line 155): Expected end_of_string
but found id". Pages pins github-pages 232 / Jekyll 3.10, whose
where_exp parses exactly one comparison and then demands end-of-string.
`and` inside the expression is a Jekyll 4 feature, so
where_exp: "i", "i.deferred == false and i.state == 'open'"
parses locally and fails in production.
Split the three filters into one comparison each, the way
spotlight-rules already does, and carry that repo's comment explaining
why a green local build is not evidence the Pages build passes.
Rendering is unchanged: all 12 open issues land in the same
ready/consensus/discussing buckets.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
CI pinned jekyll ~> 4.4 and Pages runs github-pages 232 (Jekyll 3.10). That gap is why the roadmap Liquid error in the previous commit sailed through 20+ green CI runs while every pages-build-deployment failed and the site quietly served the last good build. Add a second job that builds against .github/Gemfile.pages — the github-pages gem, deliberately unpinned, since tracking whatever Pages currently resolves to is the whole point. The existing Jekyll 4 job stays: it is what a local `jekyll serve` does. The parity job is self-proving here — it only passes because of the where_exp split in the previous commit. Co-Authored-By: Claude Opus 5 (1M context) <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.
What broke
pages-build-deploymenthas failed on every run sincedd997d5("Make the roadmap issue-driven", 2026-07-31) — 20+ consecutive failures.spec.spotlight-rules.comhas been serving the last good build since then; the Pages API reports"status": "errored".Why
Pages pins
github-pages 232→ Jekyll 3.10. Itswhere_expparses exactly one comparison and then demands end-of-string;and/orinside the expression is a Jekyll 4 feature. Soroadmap.md:165—{% raw %}{% assign live = site.data.roadmap.items | where_exp: "i", "i.deferred == false and i.state == 'open'" %}{% endraw %}— parses fine locally and blows up in production. Confirmed by running Jekyll 3.10's own
parse_conditionagainst each expression:Commit 1 — fix the outage
One comparison per
where_exp, chained — exactly whatspotlight-rules/roadmap.mdalready does. Its comment explaining the trap is carried over so the next person doesn't reintroduce it.Rendering is unchanged. A Jekyll 4 build of the branch puts all 12 open issues in the same buckets as the data:
ready [12],consensus [2, 9, 11],discussing [1, 3, 7, 8, 10, 13, 14, 15].Commit 2 — stop it happening silently again
The reason this ran for a week unnoticed:
Gemfilepinsjekyll ~> 4.4andci.ymlranbundle exec jekyll build, so CI was green through all 20+ Pages failures. The only symptom was a site that stopped updating.Added a second CI job that builds against
.github/Gemfile.pages— thegithub-pagesgem, deliberately unpinned, since tracking whatever Pages currently resolves to is the point. The Jekyll 4 job stays; it's what a localjekyll servedoes.The parity job is self-proving: it resolves github-pages (232), the exact version in the failing production log, and passes only because of commit 1.
spotlight-ruleshad the identical CI blind spot — closed in api-commons/spotlight-rules#8.🤖 Generated with Claude Code