Files
Kazuki Yamada 042750cb4e chore(ci): Replace npm run with node --run in workflows
Now that the minimum supported Node.js version is 22, `node --run` is
available everywhere. It avoids the npm process-spawn overhead and
matches the style already used in package.json scripts.

Affects all GitHub Actions workflows that invoke npm scripts and the
website/server Dockerfile bundle step. `npm ci` is left as-is since it
is npm-specific.
2026-05-09 19:08:10 +09:00

124 lines
3.4 KiB
YAML

name: CI Website
on:
push:
branches: [main]
paths:
- 'website/**'
- 'src/**'
- 'package.json'
- 'package-lock.json'
- '.tool-versions'
- '.github/workflows/ci-website.yml'
pull_request:
branches: [main]
paths:
- 'website/**'
- 'src/**'
- 'package.json'
- 'package-lock.json'
- '.tool-versions'
- '.github/workflows/ci-website.yml'
workflow_dispatch:
permissions:
contents: read
jobs:
lint-website-client:
name: Lint Website Client
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: .tool-versions
cache: npm
- name: Install website client dependencies
working-directory: website/client
run: npm ci
- name: Lint website client
working-directory: website/client
run: node --run lint
lint-website-server:
name: Lint Website Server
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: .tool-versions
cache: npm
- name: Build and link local repomix
run: |
npm ci
node --run build
npm link
- name: Install website server dependencies
working-directory: website/server
run: |
npm ci
npm link repomix
- name: Lint website server
working-directory: website/server
run: node --run lint
test-website-server:
name: Test Website Server
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: .tool-versions
cache: npm
- name: Build and link local repomix
run: |
npm ci
node --run build
npm link
- name: Install website server dependencies
working-directory: website/server
run: |
npm ci
npm link repomix
- name: Test website server
working-directory: website/server
run: node --run test
bundle-website-server:
name: Bundle Website Server
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
persist-credentials: false
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
with:
node-version-file: .tool-versions
cache: npm
- name: Build and link local repomix
run: |
npm ci
node --run build
npm link
- name: Install website server dependencies
working-directory: website/server
run: |
npm ci
npm link repomix
- name: Bundle website server
working-directory: website/server
run: node --run bundle