You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make CI run the pipeline's actual dependencies, on a Ruby the site supports
Two failures on the first run of workflows that had never run anywhere, and
both were real rather than incidental to CI.
pypdf was missing. It is not an optional extra: intake reads a supplied PDF's
title and first page with it, fulltext extracts paper text with it, and the
artifact scanner finds links with it. Every one of those wraps the import in a
try/except and returns "nothing found" when it fails, which is right at runtime
and dangerous in a dependency list -- the weekly job installs from
requirements.txt, so it would have run green while quietly extracting no paper
text at all. The test that builds a PDF fixture was the only caller that said
so out loud. It is now listed, and that test skips rather than fails without
it, because a checkout without pypdf is a supported state.
The hand-written `pip install jsonschema` is what let the two drift, so CI now
installs from requirements.txt like the other workflow already did.
Ruby 3.2 cannot build this site. The github-pages gem pins liquid 4.0.3, which
calls Object#tainted?, removed in Ruby 3.2 -- so the build died in a 2023 blog
post that has nothing to do with any of this. Its jekyll 3.9.0 also predates
the Psych 4 that ships with Ruby 3.1. Ruby 3.0 is the newest that satisfies
both, and is effectively what GitHub Pages builds with; the runner moves to
22.04 because setup-ruby ships no 3.0 for 24.04. Nothing about the site
changes -- the pin was simply newer than the gems it had to run.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EvUdZCeqsafccQ8rt7jt3N
0 commit comments