npm ci, then npm run <script> for each entry of the scripts input. PR gate for frontends so Renovate can automerge npm updates. Co-Authored-By: Claude Opus 5.5 <[email protected]>
1.2 KiB
1.2 KiB
node-check
Reusable Gitea Actions workflow: npm ci → npm run <script> for each script in a list. Meant as a PR gate for frontend code, for example so Renovate can automerge npm updates.
Usage
on:
pull_request:
jobs:
frontend:
uses: templates/node-check/.gitea/workflows/node-check.yaml@v1
with:
working-directory: src/MyApp.Web
scripts: "check test build"
# node-version: "22"
Inputs
| Name | Default | Description |
|---|---|---|
scripts |
(required) | npm scripts separated by spaces. They run in order and the job stops at the first failure. |
working-directory |
. |
Directory with package.json and package-lock.json |
node-version |
22 |
Node.js version for actions/setup-node |
No secrets. npm ci needs a committed package-lock.json.
Branch protection: take the exact status-check name from the first PR run. Renaming the workflow name: or the job id check is a breaking change and needs a new major tag.
Versioning
Only major tags (v1, v2, …). Fixes and new optional inputs move the existing tag. Changing or removing inputs, or changing behavior, needs a new major tag.