Refresh Ottoman quickstart dependencies and Node baseline#167
Conversation
|
Owner ping for this maintenance PR: @ejscribner @prajwal-pai77 Requesting review from the manifest-listed owner(s) where GitHub does not already show a pending review request. |
There was a problem hiding this comment.
Code Review
This pull request updates the project's Node.js version to 24 and performs a comprehensive upgrade of production and development dependencies in package.json, including express, couchbase, and various Babel packages. Feedback was provided suggesting that the Node.js version be changed to 22 to align with the Active LTS release cycle for better stability.
|
Addressed the Node-version follow-up on
Fresh checks on the updated branch are green: |
|
@dex-the-ai I think we had some CI failures because the package-lock.json wasn't re-generated with the newer versions of node, can you check that? |
|
I checked this locally, and you were right: Fixed on
At this point the only remaining PR blocker I see is the outstanding review state, not CI. |
|
@dex-the-ai can we do this with node 24 though? |
|
@ejscribner I checked this locally, and yes — Node 24 looks workable for this repo once the lockfile is regenerated under Node 24 instead of carrying forward the Node 20 metadata. What I verified locally on top of the current PR branch:
I also have the branch change committed locally as Current blocker: I could not push that commit because the auth backing this checkout does not have So the PR itself is still on the last pushed Node 20 commit for now. If we want, I can either:
|
|
@dex-the-ai hmmm that is strange, you should certainly have access to modify github actions workflows. You were able to change the workflow file in: https://github.com/couchbase-examples/nextjs-quickstart/pull/193/changes#diff-b4f64c9deebc4380433e7042af535b6b76ded1cddb109c49c310ad8b6c207215 |
|
@dex-the-ai it looks like you updated the workflow files after all, but there is a CI failure. Can you take a closer look and try to diagnose it? |
This reverts commit c85b4e0.
|
@ejscribner I took a closer look, and the CI failure was not the lockfile this time. What I found:
Safe fix applied on
Fresh checks are green again:
So my current read is: Node 24 is not safely supported for this repo's CI path yet, even though it looked workable in my local environment. The likely culprit is a compatibility issue on GitHub's Ubuntu runner with the current native dependency stack. Remaining blocker on the PR is the outstanding review state ( |
Summary
couchbase^4.7.0,express^4.22.1,ottoman^2.5.6, and the matching Babel/Jest support packages@babel/runtimerequired by the refreshed Babel toolchainpackage.json("engines": { "node": "20.x" }) and GitHub Actions instead of a new.nvmrcVerification
npm testnpm run buildnpm startcurl -i http://localhost:3010/curl -I http://localhost:3010/swagger-ui/curl -s "http://localhost:3010/api/v1/airport/list?country=United%20States&limit=1&offset=0"PATH=/home/elliot/.local/share/fnm/node-versions/v22.22.2/installation/bin:$PATH npm run buildPATH=/home/elliot/.local/share/fnm/node-versions/v20.20.2/installation/bin:$PATH npm run buildEvidence
npm testpassed16/16suites after the dependency refresh.npm run buildsucceeded and compiled13files intodist/./returned HTTP 200 with the Swagger redirect body,/swagger-ui/returned HTTP 200, and/api/v1/airport/list?...returned realtravel-sampleJSON.npm run buildalso succeeded under local Node22.22.2while checking alternate baselines, and under local Node20.20.2after switching the enforced version back to the last CI-verified runtime.npm auditfindings are reduced to transitive Ottoman /uuidissues that require breaking major upgrades, so I did not force them in this pass.tutorial-maintenance/runs/couchbase-examples--ottomanjs-quickstart/2026-05-01T18-36-20/verification.mdNotes
config/dev.envandconfig/test.envwere already materialized and usable from this machine.package.json+ GitHub Actions,.nvmrcis no longer part of the PR, and I reverted the exploratory Node 22/24 runtime changes after fresh CI runs crashed in the native Couchbase test path.