actions

actions/setup-node

TypeScript MIT DevOps

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

4.9k stars
1.7k forks
active
GitHub +13 / week

4.9k

Stars

1.7k

Forks

102

Open issues

30

Contributors

v6.4.0 20 Apr 2026

AI Analysis

setup-node is a GitHub Actions action that configures Node.js in CI/CD workflows, providing version management, dependency caching, and npm registry authentication. It is essential infrastructure for JavaScript/Node.js projects using GitHub Actions, serving developers who need reliable Node.js setup automation in their CI pipelines.

DevOps DevOps Tool Discovery value: 2/10
Documentation 8/10
Activity 9/10
Community 9/10
Code quality 8/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 9/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

github-actions node.js ci-cd package-management automation
Actively maintained Well documented MIT licensed Popular Beginner friendly Production ready
Deep Analysis · Based on README and public signals
7d ago

Official GitHub Actions setup for Node.js: ubiquitous CI/CD dependency management with automatic package caching

setup-node is GitHub's first-party action for provisioning Node.js in CI/CD pipelines. It handles version selection, PATH management, dependency caching (npm/yarn/pnpm), registry authentication, and problem matcher registration. Used implicitly or explicitly in millions of GitHub Actions workflows; de facto standard for Node.js CI on GitHub. Not competing with any tool—it is the platform integration point.

Origin

Created May 2019 as part of GitHub's official actions ecosystem. Evolved from basic Node.js download/setup into a comprehensive dependency management layer, with major versioning reflecting breaking changes in caching behavior and Node.js runtime upgrades (V5 moved to node24, V6 refined npm auto-caching logic).

Growth

Star growth is flat (3 stars in last 7 days) because adoption is saturated among GitHub Actions users—it is the de facto tool, not one among many. Steady maintenance and feature refinement (breaking changes in V5 and V6 show active development, not stagnation). Growth measured in ecosystem integration depth, not star count.

In production

Adoption not formally documented in README, but GitHub's official actions are automatically discoverable and featured in GitHub Actions marketplace. Likely used in millions of workflows given ubiquity of Node.js CI and GitHub Actions dominance. Implicit adoption through GitHub's templates and documentation.

Code analysis
Architecture

Appears to be a composite action or TypeScript-based action that downloads Node.js distributions, manages caching via GitHub Actions cache API, and registers problem matchers. Based on README, it supports version resolution (SemVer, aliases like lts/*, nightly), package manager detection from package.json, and auth token management for private registries. Likely uses actions/tool-cache or similar for binary management.

Tests

README documents multiple CI workflows (basic-validation, versions, e2e-cache, proxy) with passing badges, indicating automated test coverage across version resolution, caching, and proxy scenarios. Actual coverage depth not quantified in README.

Maintenance

Last push 2026-06-24 (9 days before analysis date). Active maintenance confirmed. V6 released with breaking changes, indicating ongoing feature iteration. Multiple workflow badges suggest continuous integration and testing infrastructure is in place and passing.

Honest verdict

ADOPT IF: you use GitHub Actions and Node.js. This is the official, maintained integration—attempting to substitute it introduces friction. AVOID IF: you use non-GitHub CI (GitLab CI, Jenkins, CircleCI) and expect a first-party equivalent—other platforms have their own or you use generic approaches. MONITOR IF: you rely on private registry authentication or enterprise GitHub Server—breaking changes (V5, V6) may require workflow updates; test in staging first.

Independent dimensions

Mainstream potential

10/10

Technical importance

8/10

Adoption evidence

9/10

Risks
  • Breaking changes between major versions (V5→V6 changed caching defaults and removed always-auth) require explicit workflow updates; automation not always obvious from docs.
  • Dependency on GitHub Actions runner version (V5 requires runner >=v2.327.1); mismatched versions may fail silently or with unclear errors.
  • Automatic npm caching enabled by default in V6 (if packageManager field present); may expose sensitive deps in cache artifacts if not carefully managed on enterprise runners.
  • Version resolution relies on external node-versions repository; if that becomes stale or unavailable, version discovery may fail.
  • No documented fallback for air-gapped or severely rate-limited environments beyond custom mirror support.
Prediction

Continued steady maintenance as part of GitHub's official actions. Unlikely to see dramatic feature expansion; main evolution will track Node.js LTS cycles and GitHub Actions runtime upgrades. May deprecate features (like always-auth removal) as Node.js itself evolves.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

TypeScript
97.9%
JavaScript
1.1%
Shell
1%

Information

Language
TypeScript
License
MIT
Last updated
2d ago
Created
87mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

actions

actions/setup-python

setup-python is a GitHub Actions workflow action that configures Python, PyPy,...

2.2k TypeScript DevOps
actions

actions/setup-go

This GitHub Action sets up a Go environment within CI/CD workflows by...

1.7k TypeScript DevOps
actions

actions/setup-java

setup-java is a GitHub Actions workflow action that downloads, installs, and...

2k TypeScript DevOps
actions

actions/setup-dotnet

This is an official GitHub Action that configures .NET SDK environments for...

1.2k TypeScript DevOps
actions

actions/javascript-action

This is a GitHub-provided template repository for bootstrapping...

1.2k JavaScript DevOps
vs. alternatives
actions/setup-go

Sibling official action (1716 stars). Same architectural role for Go. Comparable maintenance profile and ecosystem positioning.

actions/setup-python

Sibling official action (2172 stars). Higher star count reflects Python's broader user base, not superior tooling. Both are first-party, not competitive.

nvm / fnm (local tools)

Desktop Node.js version managers. Serve different use case (local dev vs. CI). Not substitutes; often used together (devs use nvm locally, CI uses setup-node).

volta

Alternative Node.js version manager with built-in reproducibility. Primarily for local dev; no GitHub Actions integration mentioned. Orthogonal, not competitive.