chore: fix CI on main and land both Dependabot groups - #413
Merged
Merged
Conversation
The README archival notice landed unformatted and with an unknown word, which turns CI red on main and on every open PR. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XLGw8ogSPAXVnhTv2fbdee
Bumps actions/checkout from 6 to 7 and actions/setup-node from 6 to 7. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XLGw8ogSPAXVnhTv2fbdee
Regenerates package-lock.json from scratch: the lockfile Dependabot produced was missing every esbuild@0.28.2 entry, so `npm ci` refused to install. Re-resolving also dedupes vite, taking the audit from 24 vulnerabilities (3 critical) to 0. Adjustments needed for the majors in the group: - astro 5 -> 7 removed legacy content collections, so src/content/config.ts moves to src/content.config.ts. The collections already used loaders, and the loader `base` paths are project-relative, so no other change was needed. - The astro 7 compiler rejects a self-closing <div>, which jobs.astro used for the Gem job board embed. That div is now closed explicitly, along with its wrapper div, which was never closed at all. - @lavamoat/allow-scripts 3 -> 5: sharp 0.35 no longer runs install scripts, so it drops out of the allowScripts config. Verified: npm ci, allow-scripts, format:check, cspell and build all pass, and the built site is byte-identical across all 69 pages except that `--` in markdown now renders as an en dash rather than an em dash. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XLGw8ogSPAXVnhTv2fbdee
cspell 10 requires Node >=22.18.0 and refuses to run otherwise, which fails the 🔤 Check Spelling step on the pinned 22.12.x. cspell is the only dependency in the tree that needs more than 22.12, and 22.18.x satisfies every other engines constraint. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XLGw8ogSPAXVnhTv2fbdee
eseidel
enabled auto-merge (squash)
September 15, 2026 23:39
Replaces the 22.18.x pin that was chosen only to satisfy cspell 10. 24.x is the newest major every dependency supports, and tracking the minor means CI picks up patch releases on its own. Node 26 also builds the site cleanly, but the three lavamoat packages declare `^20.19.0 || ^22.5.1 || ^24.0.0`, so npm warns EBADENGINE for the supply-chain guard itself. Worth revisiting once 26 goes LTS and lavamoat widens its engines. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XLGw8ogSPAXVnhTv2fbdee
This was referenced Sep 15, 2026
easymac
approved these changes
Sep 16, 2026
eseidel
pushed a commit
that referenced
this pull request
Sep 16, 2026
Brings in the dependency bumps and CI fixes from #413. Conflict resolutions: - package.json: the port's dependency set (without @base-ui-components, @radix-ui/react-accordion, lucide-react and react-markdown, which it removed) at main's versions, including astro 7. package-lock.json regenerated from scratch; 0 audit vulnerabilities. - .github/workflows/main.yaml: keeps the Firebase build/preview/deploy jobs, takes main's actions@v7 and Node 24.x, and moves the deploy job's checkout to v7 with the rest. - README.md / .cspell.yaml: the port's versions, which already drop the archival notice and list `webflow`. README now says Astro 7. - src/pages/jobs.astro: the port's iframe embed replaces the markup main fixed for the astro 7 compiler, so that fix is moot here. - src/content/config.ts moves to src/content.config.ts (astro 7 dropped legacy content collections); the port's added schema fields carry over. - One blog post reformatted by prettier 3.9.6, which wraps `$1,000-2,000` style text differently. Verified: npm ci, allow-scripts, format:check, cspell, build, check:links and the firebase.json drift check all pass. Built output compared against the pre-merge branch: all 107 pages identical except smartypants punctuation on 7 blog pages (`--` now an en dash, one `'ol` apostrophe now curling the other way). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XLGw8ogSPAXVnhTv2fbdee
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.
Status
READY
Description
Gets CI green on
mainagain and supersedes both open Dependabot PRs, which were red for two unrelated reasons.1.
mainis red — fixes #410's failureThe archival-notice commit (21dd331) added a README line that isn't Prettier-formatted and contains an unknown word ("Webflow"), so
format:checkandcspellfail onmainand on every open PR. The first commit here runs Prettier onREADME.mdand addswebflowto.cspell.yaml. That alone unblocks #410.2. GitHub Actions bumps (supersedes #410)
actions/checkoutandactions/setup-nodev6 → v7, identical to what Dependabot proposed.3. npm bumps (supersedes #412)
#412 failed at
npm ci: the lockfile Dependabot produced was missing everyesbuild@0.28.2entry, so it no longer matchedpackage.json.package-lock.jsonis regenerated from scratch here, keeping all 25 updates — nothing needed to be dropped. Re-resolving also dedupes vite, takingnpm auditfrom 24 vulnerabilities (3 critical) to 0.Three majors in the group needed code changes:
src/content/config.tsmoves tosrc/content.config.ts. The collections already used loaders and the loaderbasepaths are project-relative, so nothing else changed.<div>, whichjobs.astroused for the Gem job board embed. That div is now closed explicitly, along with its wrapper div, which was never closed at all.allowScriptsconfig.Verification
npm ci,npx --no allow-scripts,format:check,lint,cspellandbuildall pass from a cleannode_modules.The built site was diffed against a
mainbuild: all 69 pages render identical text, with one cosmetic exception —--in markdown now renders as an en dash rather than an em dash (the newer smartypants behavior), affecting 11 blog and legal pages.Once this lands, #410 and #412 can be closed.
Type of Change
to change)
🤖 Generated with Claude Code
https://claude.ai/code/session_01XLGw8ogSPAXVnhTv2fbdee
Generated by Claude Code