Skip to content

chore: update dependency validate-npm-package-name to v8 #24002

chore: update dependency validate-npm-package-name to v8

chore: update dependency validate-npm-package-name to v8 #24002

name: Continuous Integration
on:
push:
branches: [master]
pull_request:
branches: [master]
schedule:
- cron: '0 2 * * 1' # At 02:00 on Monday
permissions: {}
env:
NODE_OPTIONS: --max-old-space-size=4096
jobs:
test:
name: Test
timeout-minutes: 30
strategy:
matrix:
os: [ubuntu-latest]
node-version: [20, 22, 24]
include:
- os: windows-2022
node-version: 22 # LTS
- os: macos-latest
node-version: 22 # LTS
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
fetch-depth: 0
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: ${{ matrix.node-version }}
- name: Set up Python 3.11 (for node-gyp)
uses: actions/setup-python@v6
with:
python-version: '3.11'
- name: Install dependencies
env:
PYTHON: ${{env.pythonLocation}}/bin/python3
run: npm ci
- name: Install Chrome (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y google-chrome-stable
- name: Install Chrome (macOS)
if: runner.os == 'macOS'
run: |
brew install --cask google-chrome
- name: Install Chrome (Windows)
if: runner.os == 'Windows'
run: |
choco install googlechrome --ignore-checksums -y
- name: Set Chrome path (Linux)
if: runner.os == 'Linux'
run: echo "PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome" >> $GITHUB_ENV
- name: Set Chrome path (macOS)
if: runner.os == 'macOS'
run: echo "PUPPETEER_EXECUTABLE_PATH=/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" >> $GITHUB_ENV
- name: Set Chrome path (Windows)
if: runner.os == 'Windows'
run: echo "PUPPETEER_EXECUTABLE_PATH=C:/Program Files/Google/Chrome/Application/chrome.exe" >> $env:GITHUB_ENV
- name: Build
run: node packages/build/bin/compile-package -b
- name: Run package tests
run: node packages/build/bin/run-nyc node packages/build/bin/run-mocha --lang en_US.UTF-8 --reporter spec "packages/*/dist/__tests__/**/*.js" "packages/build/test/**/*.js"
- name: Run extension tests
run: node packages/build/bin/run-nyc node packages/build/bin/run-mocha --lang en_US.UTF-8 --reporter spec "extensions/*/dist/__tests__/**/*.js"
- name: Run example tests
run: node packages/build/bin/run-nyc node packages/build/bin/run-mocha --lang en_US.UTF-8 --reporter spec "examples/*/dist/__tests__/**/*.js"
- name: Generate coverage report
if: runner.os != 'macOS'
run: node packages/build/bin/run-nyc report --reporter=lcov
- name: Publish coverage report to Coveralls
if: runner.os != 'macOS'
uses: achrinza/coveralls-github-action@5b7bed1e2779d4ff3223e5a9ee5d03f704099258 # v2.3.8
with:
flag-name: run-${{ matrix.os }}-node@${{ matrix.node-version }}
github-token: ${{ secrets.GITHUB_TOKEN }}
file: coverage/lcov.info
parallel: true
post-test:
name: Post-Test
needs: test
runs-on: ubuntu-latest
if: ${{ success() }}
steps:
- name: Coveralls finished
uses: coverallsapp/github-action@648a8eb78e6d50909eff900e4ec85cab4524a45b # v2.3.6
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true
test-benchmark:
name: Test Benchmark
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.22.3 # LTS
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build -w "@loopback/benchmark"
- name: Run benchmark tests
run: npm run test --ignore-scripts -w "@loopback/benchmark" -- --reporter spec
code-lint:
name: Code Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.22.3 # LTS
- name: Install dependencies
run: npm ci
- name: Build
run: node packages/build/bin/compile-package -b
- name: Verify code linting
run: |
node packages/build/bin/run-eslint .
node packages/build/bin/run-prettier --check "**/*.ts" "**/*.js" "**/*.md" "!docs/**/*.md"
- name: Verify package metadata
run: node bin/check-package-metadata.js
commit-lint:
name: Commit Lint
runs-on: ubuntu-latest
if: ${{ github.event.pull_request }}
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
fetch-depth: 0
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.22.3 # LTS
- name: Install dependencies
run: npm ci
- name: Verify commit linting
run: npx commitlint --from origin/master --to HEAD --verbose
verify-docs:
name: Verify Docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 22.22.3 # LTS
- name: Install dependencies
run: npm ci
- name: Build
run: node packages/build/bin/compile-package -b
- name: Verify linting
run: node packages/build/bin/run-prettier --check "docs/**/*.md"
- name: Verify changes
run: ./bin/verify-doc-changes.sh