Skip to content

chore: update lint packages (major) #16996

chore: update lint packages (major)

chore: update lint packages (major) #16996

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: 20
strategy:
matrix:
os: [ubuntu-latest]
node-version: [18, 20, 22]
include:
- os: windows-latest
node-version: 22 # LTS
- os: macos-latest
node-version: 22 # LTS
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: npm ci
- 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
run: node packages/build/bin/run-nyc report --reporter=lcov
- name: Publish coverage report to Coveralls
uses: coverallsapp/github-action@cfd0633edbd2411b532b808ba7a8b5e04f76d2c8 # v2.3.4
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@cfd0633edbd2411b532b808ba7a8b5e04f76d2c8 # v2.3.4
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true
test-benchmark:
name: Test Benchmark
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 22 # 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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 22 # 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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 22 # 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@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
with:
node-version: 22 # 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