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.
1.4 KiB
1.4 KiB
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 |