QuantEcon / QuantEcon/quantecon-book-theme

ci: read the setup-node version from .nvmrc

Open Beginner friendly
#446 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

low-priority maintenance
Dominant language
Jupyter Notebook
Stars
56
Forks
24
Avg merge
4h 33m
Merged PRs (30d)
4

Description

Optional tidy-up, left open by #445: let the remaining setup-node steps read .nvmrc so every Node in CI is the pinned one.

#445 pinned the Node that builds the theme's assets to 24.21.0 ([tool.sphinx-theme-builder] node-version in pyproject.toml) and set .nvmrc to the same exact version. The workflows' own setup-node steps still ask for any 24.x:

File Line Setting
.github/workflows/ci.yml (visual) 108 node-version: '24'
.github/workflows/docs.yml 37 node-version: "24"
.github/workflows/update-snapshots.yml 112 and 303 node-version: '24'

None of them compiles an asset that ships: visual and update-snapshots.yml run npm ci and Playwright, and in docs.yml the editable install after npm run build recompiles the assets on sphinx-theme-builder's own Node. But '24' resolves to whatever 24.x the runner has cached, 24.20.0 at the time of #445, so Playwright runs on a different Node from the build.

QuantEcon/quantecon-sphinx-theme#9 switched its docs.yml to node-version-file: .nvmrc after review. Doing the same here would keep all three in step with one file. docs.yml runs only on pushes to main and update-snapshots.yml only from the default branch, so a PR's CI cannot fully exercise the change; the merge run is its first real test.

Tracked from QuantEcon/workspace-themes#31 (closed 2026-09-19). Low priority.

🤖 Generated with Claude Code

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the four setup-node entries identified in .github/workflows/ci.yml, .github/workflows/docs.yml, and .github/workflows/update-snapshots.yml, then compare them with .nvmrc and the existing pyproject.toml Node pin. Check the workflow syntax and confirm that all remaining CI Node setup uses the version from .nvmrc; the docs and snapshot workflows receive their first full validation after merging to the default branch.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, node.js
Domain
ci-cd
Issue type
Refactor
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
82/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.