Skip to content

Lock file maintenance #2633

Lock file maintenance

Lock file maintenance #2633

name: Validations
on:
push:
tags-ignore:
- '**'
branches:
- master
pull_request:
types:
- synchronize
- opened
jobs:
security-checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
registry-url: 'https://registry.npmjs.org'
node-version: 23
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Cache dependencies
id: cache-dependencies
uses: actions/cache@v4
with:
path: node_modules
key: node_modules-${{ hashFiles('package-lock.json') }}
- name: Install dependencies
if: steps.cache-dependencies.outputs.cache-hit != 'true'
run: npm ci
- name: Check dependency vulnerabilities
run: npm audit --omit=dev
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 23
- name: Cache dependencies
id: cache-dependencies
uses: actions/cache@v4
with:
path: node_modules
key: node_modules-${{ hashFiles('package-lock.json') }}
- name: Install dependencies
if: steps.cache-dependencies.outputs.cache-hit != 'true'
run: npm ci
- name: Check compilation errors
run: npm run validate
lint:
runs-on: ubuntu-latest
needs:
- validate
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 23
- name: Cache dependencies
id: cache-dependencies
uses: actions/cache@v4
with:
path: node_modules
key: node_modules-${{ hashFiles('package-lock.json') }}
- name: Install dependencies
if: steps.cache-dependencies.outputs.cache-hit != 'true'
run: npm ci
- name: Check coding standard violations
run: npm run lint
test:
runs-on: ubuntu-latest
needs:
- validate
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 23
- name: Cache dependencies
id: cache-dependencies
uses: actions/cache@v4
with:
path: node_modules
key: node_modules-${{ hashFiles('package-lock.json') }}
- name: Install dependencies
if: steps.cache-dependencies.outputs.cache-hit != 'true'
run: npm ci
- name: Run tests
run: npm run test
- uses: qltysh/qlty-action/coverage@v2
with:
token: ${{ secrets.QLTY_COVERAGE_TOKEN }}
files: ${{ github.workspace }}/coverage/lcov.info
skip-errors: false