actions/setup-node

Set up your GitHub Actions workflow with a specific version of node.js

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 50 minutes ago
Added to GitGenius on September 13th, 2026
Created on May 30th, 2019
Open Issues & Pull Requests: 79 (+0)
GitHub issues: Enabled
Number of forks: 1,712
Total Stargazers: 4,959 (+0)
Total Subscribers: 148 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 5.3 hours
Mean response time: 4.4 days
90th percentile: 45.9 hours
Tracked items: 261

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 4% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 35
New in 7 days: 1
Closed in 7 days: 2
Avg open age: 942 days
Stale 30+ days: 29
Stale 90+ days: 26

Recent activity

Opened in 7 days: 1
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 2

Top labels

  • bug (101)
  • spam (91)
  • feature request (78)
  • needs triage (19)
  • needs eyes (6)
  • enhancement (3)
  • duplicate (2)
  • external (1)

Detailed Description

setup-node is a GitHub Action that configures a Node.js environment for workflows by downloading and caching a specified Node.js version.

The action solves the problem of reliably provisioning Node.js in CI/CD pipelines by handling version selection, caching, and dependency management. It checks a local cache first for semver-matching versions, then downloads from a curated release repository or falls back to the official Node.js distribution. Beyond version setup, it can cache npm, yarn, or pnpm dependencies, register problem matchers to surface build errors, and configure authentication for package registries including GPR and npm.

Teams running Node.js workflows on GitHub Actions should adopt this action to avoid manual version management and speed up builds through dependency caching. It suits any project using Node.js, from simple scripts to complex monorepos. The action supports flexible version syntax including semantic versioning, LTS aliases, and latest-release shortcuts. Caching behavior differs by package manager: npm caching is automatic when the package manager is declared in package.json, while yarn and pnpm require explicit cache configuration. Users with elevated privileges or access to sensitive data can disable automatic caching for security.

The project maintains active development with regular updates addressing breaking changes and feature improvements. Recent versions migrated internals to ESM for compatibility with current GitHub Actions packages. The action upgraded its runtime from Node 20 to Node 24, requiring runner version compatibility. Automatic dependency caching was introduced with package manager detection, though this can be disabled when needed. The dummy NODE_AUTH_TOKEN fallback was removed to prevent unintended .npmrc generation with non-functional tokens.