Files
deac 9df18983c3 STAT-133: Add NPM_TOKEN support to node and test/npm actions for private registry auth
npm ci fails with E401 when a consuming repo's package-lock.json pins a
package to the private Gitea npm registry, since these composite actions
never write an .npmrc or set a registry auth token. Add an optional
NPM_TOKEN input that writes .npmrc before install; existing consumers that
don't pass it are unaffected.
2026-09-17 11:48:24 -04:00
..

test/npm

Composite action: install dependencies and run an npm test script.

Inputs

Input Description Default
INSTALL_CMD Install command npm ci
TEST_SCRIPT npm script to run (must exist in package.json) test
TEST_ARGS Additional arguments passed after -- to the test script ``
WORKING_DIRECTORY Directory to run commands in .
NPM_TOKEN Auth token for the private Gitea npm registry (@stat-tackler scope). Leave empty if the repo installs no private packages. ``

Usage

- uses: stat-tackler/stat-tackler-infra/test/npm@main
  with:
    TEST_SCRIPT: test:unit

With a private @stat-tackler package in package.json:

- uses: stat-tackler/stat-tackler-infra/test/npm@main
  with:
    TEST_SCRIPT: test:unit
    NPM_TOKEN: ${{ secrets.REGISTRY_READ_WRITE_AGENT }}

With extra args:

- uses: stat-tackler/stat-tackler-infra/test/npm@main
  with:
    TEST_SCRIPT: test:coverage
    TEST_ARGS: --silent --reporter=dot --test-timeout=30000

Common test scripts by project

Project Script Runner
stat-tackler-api test Jest
stat-tackler-scorekeeper test:unit Vitest
stat-tackler-scorekeeper test:integration Vitest
stat-tackler-scorekeeper test:run Vitest (unit + integration)
stat-tackler-scorekeeper test:coverage Vitest