Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/Gemfile.pages
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# The Gemfile GitHub Pages actually builds with — not the one in the repo root.
#
# `pages-build-deployment` ignores our Gemfile and runs the `github-pages` gem
# (currently 232, which pins Jekyll 3.10). Jekyll 3.10 forgives less Liquid than
# the Jekyll 4 we develop against: `where_exp` takes exactly one comparison and
# then demands end-of-string, so `and` / `or` inside the expression — a Jekyll 4
# feature — parses locally and dies on deploy.
#
# CI builds against this file so it predicts the deploy. Do not pin a version
# here: tracking whatever `github-pages` currently resolves to is the point.

source "https://rubygems.org"

gem "github-pages", group: :jekyll_plugins
20 changes: 20 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,11 @@ on:
pull_request:
push:
branches: [main]

jobs:
# The Jekyll we develop against. Fast, and matches a local `jekyll serve`.
build:
name: Jekyll 4 (what we develop on)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -13,3 +16,20 @@ jobs:
ruby-version: '3.2'
bundler-cache: true
- run: bundle exec jekyll build

# The build that actually predicts the deploy. GitHub Pages ignores the root
# Gemfile and runs the `github-pages` gem (Jekyll 3.10), which accepts less
# Liquid than Jekyll 4 — see .github/Gemfile.pages. Without this job, CI stays
# green while pages-build-deployment fails and the site silently serves stale.
pages-parity:
name: GitHub Pages (what actually deploys)
runs-on: ubuntu-latest
env:
BUNDLE_GEMFILE: ${{ github.workspace }}/.github/Gemfile.pages
steps:
- uses: actions/checkout@v4
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.2'
bundler-cache: true
- run: bundle exec jekyll build
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ _site/
vendor/
.bundle/
Gemfile.lock
Gemfile.pages.lock
.DS_Store
11 changes: 9 additions & 2 deletions roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,9 +162,16 @@ Two rules keep it honest:

**Maturity describes the conversation, not the code.** Nothing gets promoted by age.

{% assign live = site.data.roadmap.items | where_exp: "i", "i.deferred == false and i.state == 'open'" %}
{% comment %}
One comparison per `where_exp`, deliberately. GitHub Pages pins Jekyll 3.10, whose `where_exp`
parses a single comparison and then demands end-of-string; `and` / `or` inside the expression is
a Jekyll 4 feature. A local Jekyll 4 build is therefore not evidence the Pages build passes —
the multi-clause version of these lines failed with "Expected end_of_string but found id".
{% endcomment %}
{% assign open_items = site.data.roadmap.items | where_exp: "i", "i.state == 'open'" %}
{% assign live = open_items | where_exp: "i", "i.deferred == false" %}
{% assign parked = open_items | where_exp: "i", "i.deferred" %}
{% assign done = site.data.roadmap.items | where_exp: "i", "i.state == 'closed'" %}
{% assign parked = site.data.roadmap.items | where_exp: "i", "i.deferred and i.state == 'open'" %}
{% assign groups = "ready,consensus,discussing,raised" | split: "," %}
{% for g in groups %}
{% assign bucket = live | where: "maturity", g %}
Expand Down
Loading