feat: upgrade lightning from 10.25.0 to 11.1.0 — Issue #726#806
feat: upgrade lightning from 10.25.0 to 11.1.0 — Issue #726#806ToRyVand wants to merge 5 commits into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (2)
WalkthroughThe PR raises the Node.js engine to >=20.0.0, updates the ChangesTooling and CI updates
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Well, then include the CI upgrade from 24.04 to 26.04? |
|
Done @knocte — updated CI to Reason: MongoDB 8.0 doesn't have an official apt repo for |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/integrate.yaml:
- Line 43: The workflow currently writes a MongoDB apt source using the "noble"
codename into /etc/apt/sources.list.d/mongodb-org-8.0.list (the echo line that
includes "deb ... noble/mongodb-org/8.0"), which mismatches the declared
ubuntu:26.04 base image; to fix this either: change the CI job's base image to
an officially supported Ubuntu release (ubuntu:24.04 or ubuntu:22.04) so the
"noble" source is correct, or update the apt source to match the actual base
image and its supported MongoDB repo (or remove the unsupported repo and install
MongoDB via another supported mechanism); make the change where the echo into
/etc/apt/sources.list.d/mongodb-org-8.0.list occurs and update any related
documentation or commit message to no longer claim "compatibility with
ubuntu:26.04" unless upstream MongoDB officially adds support.
- Line 16: The CI workflow uses an unsupported base image for MongoDB 8.0;
change the image value in the workflow (the 'image' field in
.github/workflows/integrate.yaml) from 'ubuntu:26.04' to a supported Ubuntu
release such as 'ubuntu:24.04' (or alternatively update the MongoDB
repository/version if you confirm 26.04 compatibility), then update any related
apt repository entries or package versions in the job steps that reference the
noble/mongodb-org/8.0 repo to match the chosen distro.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: 1f454aca-e936-4ba4-9c69-94f8b2638ad0
📒 Files selected for processing (1)
.github/workflows/integrate.yaml
…o >=20 - Update lightning to 11.1.0 (latest v11) - Bump engines.node from >=18.0.0 to >=20.0.0 (required by lightning 11.x) - Add skipLibCheck: true to tsconfig.json to bypass type-fest internal type recursion incompatibility with TypeScript 5.1.x in lightning's dependencies Closes lnp2pBot#726
…lity ubuntu:24.04 ships Node.js 18.x; ubuntu:26.04 provides Node.js 20+. MongoDB upgraded from 6.0 (EOL Aug 2025) to 8.0 LTS using the noble apt repository, which is compatible with ubuntu:26.04.
ubuntu:26.04 ships Node.js 22.x which has no prebuilt canvas binaries, requiring compilation from source. Install pkg-config, libcairo2-dev, libpango1.0-dev, libjpeg-dev, libgif-dev and librsvg2-dev so node-gyp can build canvas successfully.
…mpatibility MongoDB 8.0 officially supports ubuntu 20.04/22.04/24.04 but not 26.04. Use ubuntu:24.04 with explicit Node.js 20.x via NodeSource to satisfy both MongoDB compatibility requirements and Node.js 20+ requirement.
285ff17 to
2d08101
Compare
So upgrading lightning dependency requires requiring a higher NodeJS version that is only available in 26.04, but MongoDB's apt repositories only officially support up until 24.04. This cannot be done yet then? |
|
Actually, there is a solution — and a cleaner one: ubuntu:26.04 ships Node.js 22 natively (no NodeSource needed), and MongoDB 8.0 |
ubuntu:26.04 ships Node.js 22 natively — no NodeSource install needed. MongoDB 8.0 noble (24.04) packages are binary-compatible with 26.04, confirmed locally via Docker and CI on the mongoose upgrade branch.
Summary
lightningfrom10.25.0to11.1.0(latest v11)engines.nodefrom>=18.0.0to>=20.0.0(required by lightning 11.x)skipLibCheck: truetotsconfig.jsonto bypass a type-fest internal type incompatibility with TypeScript 5.1.x bundled inside lightning's dependencies (same pattern already used in the mongoose upgrade)Why now
knocte's previous feedback on PR #727 was to wait until Ubuntu 26.04 was available before bumping the node engine requirement. Ubuntu 26.04 was released in April 2026, so this blocker is now resolved.
Breaking changes resolved
No source code changes were needed — lightning v11 has no breaking API changes affecting this codebase. The only required change was the
skipLibCheckflag to handle type-fest's internal types.Test plan
npm test— 136/136 passing with lightning 11.1.0npx tsc --noEmit— zero errors (production build)npm run lint— zero errorsCloses #726
Summary by CodeRabbit