1name: ci23on:4 push:5 branches:6 - master7 - develop8 - '4.x'9 - '5.x'10 - '5.0'11 paths-ignore:12 - '*.md'13 pull_request:14 workflow_dispatch:1516permissions:17 contents: read1819# Cancel in progress workflows20# in the scenario where we already had a run going for that PR/branch/tag but then triggered a new run21concurrency:22 group: "${{ github.workflow }} ✨ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}"23 cancel-in-progress: true2425jobs:26 lint:27 name: Lint28 runs-on: ubuntu-latest29 steps:30 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.231 with:32 persist-credentials: false33 - name: Setup Node.js34 uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.035 with:36 node-version: 'lts/*'3738 - name: Install dependencies39 run: npm install --ignore-scripts --include=dev4041 - name: Run lint42 run: npm run lint4344 test:45 strategy:46 fail-fast: false47 matrix:48 os: [ubuntu-latest, windows-latest]49 node-version: [18, 19, 20, 21, 22, 23, 24, 25]50 # Node.js release schedule: https://nodejs.org/en/about/releases/5152 name: Node.js ${{ matrix.node-version }} - ${{matrix.os}}5354 runs-on: ${{ matrix.os }}55 steps:56 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.257 with:58 persist-credentials: false5960 - name: Setup Node.js ${{ matrix.node-version }}61 uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.062 with:63 node-version: ${{ matrix.node-version }}6465 - name: Configure npm loglevel66 run: |67 npm config set loglevel error68 shell: bash6970 - name: Install dependencies71 run: npm install7273 - name: Output Node and NPM versions74 run: |75 echo "Node.js version: $(node -v)"76 echo "NPM version: $(npm -v)"7778 - name: Run tests79 shell: bash80 run: npm run test-ci8182 - name: Upload code coverage83 uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.084 with:85 name: coverage-node-${{ matrix.node-version }}-${{ matrix.os }}86 path: ./coverage/lcov.info87 retention-days: 18889 coverage:90 needs: test91 runs-on: ubuntu-latest92 permissions:93 contents: read94 checks: write95 steps:96 - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.297 with:98 persist-credentials: false99100 - name: Install lcov101 shell: bash102 run: sudo apt-get -y install lcov103104 - name: Collect coverage reports105 uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1106 with:107 path: ./coverage108 pattern: coverage-node-*109110 - name: Merge coverage reports111 shell: bash112 run: find ./coverage -name lcov.info -exec printf '-a %q\n' {} \; | xargs lcov -o ./lcov.info113114 - name: Upload coverage report115 uses: coverallsapp/github-action@5cbfd81b66ca5d10c19b062c04de0199c215fb6e # v2.3.7116 with:117 file: ./lcov.info
Findings
✓ No findings reported for this file.