Skip to content

chore(package): update Node.js to version 25.1.0 #2913

chore(package): update Node.js to version 25.1.0

chore(package): update Node.js to version 25.1.0 #2913

name: typescript-service-starter
on: [push]
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
jobs:
dependencies:
name: 📦 Dependencies
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: package.json
cache: "npm"
- run: npm ci
lint:
name: 🔬 Lint & Format
runs-on: ubuntu-latest
needs: [dependencies]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: package.json
cache: "npm"
- run: npm ci
- name: 🔬 Lint & Format
run: node --run lint:check
audit:
name: 🛡️ Audit
runs-on: ubuntu-latest
needs: [dependencies]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: package.json
cache: "npm"
- name: 🛡️ Audit
run: npm audit --audit-level=high
spell:
name: 🈸 Spellcheck
runs-on: ubuntu-latest
needs: [dependencies]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: package.json
cache: "npm"
- run: npm ci
- name: 🈸 Spellcheck
run: node --run spell:check
type:
name: ʦ Typecheck
runs-on: ubuntu-latest
needs: [dependencies]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: package.json
cache: "npm"
- run: npm ci
- name: ʦ Typecheck
run: node --run type:check
test:
name: ⚡ Tests
runs-on: ubuntu-latest
needs: [dependencies]
services:
postgres:
image: postgres
env:
POSTGRES_USER: user
POSTGRES_PASSWORD: pwd
POSTGRES_DB: db
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
valkey:
image: valkey/valkey:8-alpine
ports:
- 6379:6379
options: >-
--health-cmd "valkey-cli -h 127.0.0.1 -p 6379 ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: package.json
cache: "npm"
- run: npm ci
- name: Build environment
run: |
echo "DATABASE_URL=postgres://user:pwd@localhost:${{ job.services.postgres.ports[5432] }}/db" >> $GITHUB_ENV
echo "VALKEY_URL=valkey://localhost:${{ job.services.valkey.ports[6379] }}" >> $GITHUB_ENV
echo "HTTP_COOKIE_SIGNING_SECRET=$(node --run generate-secret)" >> $GITHUB_ENV
- name: ⚡ Tests
run: node --run test:coverage
test-setup:
name: ⚡ Setup tests
runs-on: ubuntu-latest
needs: [dependencies]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: package.json
cache: "npm"
- run: npm ci
- name: ⚡ Tests
run: node --run test:setup
build-and-release:
name: 🚀 Generate client & release
needs: [lint, audit, spell, type, test]
runs-on: ubuntu-latest
services:
postgres:
image: postgres
env:
POSTGRES_USER: user
POSTGRES_PASSWORD: pwd
POSTGRES_DB: db
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
valkey:
image: valkey/valkey:8-alpine
ports:
- 6379:6379
options: >-
--health-cmd "valkey-cli -h 127.0.0.1 -p 6379 ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: package.json
cache: "npm"
- run: npm ci
- name: Build environment
run: |
echo "DATABASE_URL=postgres://user:pwd@localhost:${{ job.services.postgres.ports[5432] }}/db" >> $GITHUB_ENV
echo "VALKEY_URL=valkey://localhost:${{ job.services.valkey.ports[6379] }}" >> $GITHUB_ENV
echo "HTTP_COOKIE_SIGNING_SECRET=$(node --run generate-secret)" >> $GITHUB_ENV
- name: 📦 Generate client
run: node --run generate-client
- name: 🚀 Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: node --run semantic-release