Skip to content

Build CI the way GitHub Pages does, so CI predicts the deploy - #8

Merged
kinlane merged 1 commit into
mainfrom
ci/pages-build-parity
Aug 7, 2026
Merged

kinlane merged 1 commit into
mainfrom
ci/pages-build-parity

Conversation

@kinlane

@kinlane kinlane commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Companion to api-commons/spotlight-spec#16. Nothing is broken here — this closes the gap that let it break there unnoticed.

The gap

Gemfile pins jekyll ~> 4.4; pages-build-deployment ignores it and runs the github-pages gem (232 → Jekyll 3.10). CI has therefore never built what actually deploys.

roadmap.md already carries a comment about the specific trap — Jekyll 3.10's where_exp parses one comparison and then demands end-of-string, so and/or inside the expression is Jekyll 4 only. That comment is institutional memory with nothing enforcing it.

In spotlight-spec the same mistake kept Pages red for 20+ consecutive commits while CI was green the entire time and spec.spotlight-rules.com quietly served a week-old build. The only visible symptom was a site that stopped updating.

The change

A second CI job that builds against .github/Gemfile.pages — the github-pages gem, deliberately unpinned, since tracking whatever Pages currently resolves to is the point. The existing Jekyll 4 job stays; it's what a local jekyll serve does.

No content changes are needed first: every template in this repo already parses cleanly under Jekyll 3.10 semantics (verified by running Jekyll 3.10's own parse_condition over every where_exp, plus a Liquid::Template.parse of every .md/.html).

Branched off main, so it doesn't touch the in-flight post/2026-08-04-ci-told-us branch.

🤖 Generated with Claude Code

CI pins jekyll ~> 4.4 while Pages runs github-pages 232 (Jekyll 3.10),
so CI cannot see the class of failure roadmap.md already warns about in
a comment: Jekyll 3.10's where_exp takes one comparison and then demands
end-of-string, and `and` / `or` inside it is Jekyll 4 only.

spotlight-spec proved the cost of that gap — the same mistake there kept
pages-build-deployment red for 20+ commits with CI green throughout and
the site serving a week-old build.

Add a second job that builds against .github/Gemfile.pages, deliberately
unpinned. Nothing here needs fixing first: every template in this repo
already parses under Jekyll 3.10.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@kinlane
kinlane merged commit ecc3b2f into main Aug 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant