Skip to content

build(deps-dev): bump @stdlib/string from 0.3.1 to 0.3.3 #530

build(deps-dev): bump @stdlib/string from 0.3.1 to 0.3.3

build(deps-dev): bump @stdlib/string from 0.3.1 to 0.3.3 #530

Workflow file for this run

# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Node.js CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
inputs:
testConcurrency:
description: 'Check that parallel tests run in parallel (requires real CPUs)'
required: false
default: '0'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20.x
- run: npm install --ignore-scripts
- run: npm run lint
unix:
runs-on: ${{ matrix.platforms }}
strategy:
matrix:
node-version: [ 18.x, 20.x, 22.x ]
platforms: [ ubuntu-20.04, macos-13, macos-14 ]
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- uses: actions/setup-python@v5
with:
python-version: 3.11
- name: ccache
uses: hendrikmuhs/ccache-action@v1
with:
key: unix-${{ matrix.platforms }}-${{ matrix.node-version }}
- run: npm install --ignore-scripts
- run: npx node-pre-gyp configure
env:
CXX: ccache g++
CC: ccache gcc
- name: Build from sources
run: npx node-pre-gyp build -j max
env:
CXX: ccache g++
CC: ccache gcc
- name: Run unit tests
run: npm test
env:
MOCHA_TEST_CONCURRENCY: ${{ github.event.inputs.testConcurrency }}
windows:
runs-on: windows-2019
strategy:
matrix:
node-version: [ 18.x, 20.x, 22.x ]
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- run: npm install --ignore-scripts
- run: npx node-pre-gyp configure
- name: Build from sources
run: npx node-pre-gyp build -j max
- name: Run unit tests
run: npm test
env:
MOCHA_TEST_CONCURRENCY: ${{ github.event.inputs.testConcurrency }}
codecov:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Use Node.js 18.x
uses: actions/setup-node@v4
with:
node-version: 18.x
- name: ccache
uses: hendrikmuhs/ccache-action@v1
with:
key: codecov
- run: npm install --ignore-scripts
- run: npx node-pre-gyp configure --debug --enable_coverage
env:
CXX: ccache g++
CC: ccache gcc
- name: Build from sources
run: npx node-pre-gyp build -j max
env:
CXX: ccache g++
CC: ccache gcc
- name: Run unit tests
run: npx c8 npm test
env:
MOCHA_TEST_CONCURRENCY: 0
- name: Collect coverage data
run: |
npm run gcov
npm run lcov
- name: Send data to codecov
run: npm run codecov
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
asan:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Use Node.js 18.x
uses: actions/setup-node@v4
with:
node-version: 18.x
- name: ccache
uses: hendrikmuhs/ccache-action@v1
with:
key: asan
- run: npm install --ignore-scripts
- run: npx node-pre-gyp configure --debug --enable_coverage --enable_asan
env:
CXX: ccache g++
CC: ccache gcc
- name: Build from sources
run: npx node-pre-gyp build -j max
env:
CXX: ccache g++
CC: ccache gcc
- name: Run unit tests
shell: bash {0}
run: |
LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libasan.so.5.0.0 npm test &> asan.output
true
env:
MOCHA_TEST_CONCURRENCY: 0
MOCHA_SKIP_EXEC: 1
- name: Check for memory leaks
run: "! egrep -q \"exprtk_js\" asan.output"