Skip to content

chore(deps): bump node-addon-api from 8.7.0 to 8.8.0 #187

chore(deps): bump node-addon-api from 8.7.0 to 8.8.0

chore(deps): bump node-addon-api from 8.7.0 to 8.8.0 #187

Workflow file for this run

name: Build
on:
push:
branches:
- '**'
paths-ignore:
- '*.md'
- 'LICENSE'
pull_request:
branches:
- '**'
paths-ignore:
- '*.md'
- 'LICENSE'
env:
LLVM_VERSION: 22.1.1
LLVM_VERSION_MAJOR: 22
jobs:
build-push:
if: github.event_name == 'push'
name: Node.js ${{ matrix.node }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ macos-26, ubuntu-24.04, windows-2022 ]
node: [ 22 ]
steps:
- name: Fetch Codebase
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
check-latest: true
- name: Install LLVM and Ninja on macOS
if: startsWith(matrix.os, 'macos')
run: |
brew update
brew install llvm@${{ env.LLVM_VERSION_MAJOR }} ninja || brew link --overwrite python@3.12
echo "LLVM_CMAKE_DIR=$(brew --prefix llvm@${{ env.LLVM_VERSION_MAJOR }})/lib/cmake/llvm" >> $GITHUB_ENV
- name: Install LLVM and Ninja on Ubuntu (via llvm.sh)
if: startsWith(matrix.os, 'ubuntu') && matrix.os != 'ubuntu-22.04' && matrix.os != 'ubuntu-24.04'
run: |
sudo wget https://apt.llvm.org/llvm.sh
sudo chmod +x llvm.sh
sudo ./llvm.sh ${{ env.LLVM_VERSION_MAJOR }}
sudo apt-get install ninja-build
- name: Install LLVM and Ninja on Ubuntu 22.04
if: matrix.os == 'ubuntu-22.04'
run: |
sudo apt-get update
sudo apt-get install -y wget gnupg lsb-release software-properties-common ninja-build
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/llvm-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/llvm-archive-keyring.gpg] http://apt.llvm.org/jammy/ llvm-toolchain-jammy-${{ env.LLVM_VERSION_MAJOR }} main" | sudo tee /etc/apt/sources.list.d/llvm.list
sudo apt-get update
sudo apt-get install -y llvm-${{ env.LLVM_VERSION_MAJOR }}-dev
- name: Install LLVM and Ninja on Ubuntu 24.04
if: matrix.os == 'ubuntu-24.04'
run: |
sudo apt-get update
sudo apt-get install -y wget gnupg lsb-release software-properties-common ninja-build
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/llvm-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/llvm-archive-keyring.gpg] http://apt.llvm.org/noble/ llvm-toolchain-noble-${{ env.LLVM_VERSION_MAJOR }} main" | sudo tee /etc/apt/sources.list.d/llvm.list
sudo apt-get update
sudo apt-get install -y llvm-${{ env.LLVM_VERSION_MAJOR }}-dev
- name: Install LLVM on Windows
if: startsWith(matrix.os, 'windows')
run: |
$LLVM_VERSION = "${{ env.LLVM_VERSION }}"
$LLVM_PREBUILT_FILE = "llvm-$LLVM_VERSION-windows-2022.zip"
curl -sLO "https://github.com/DesignLiquido/llvm-windows/releases/download/llvmorg-$LLVM_VERSION/$LLVM_PREBUILT_FILE"
Expand-Archive -Path $LLVM_PREBUILT_FILE -DestinationPath .
$LLVM_CMAKE_DIR = "$pwd/LLVM-$LLVM_VERSION-win64/lib/cmake/llvm"
if (-not (Test-Path $LLVM_CMAKE_DIR)) {
Write-Error "LLVM CMake directory not found: $LLVM_CMAKE_DIR"
exit 1
}
"LLVM_CMAKE_DIR=$LLVM_CMAKE_DIR" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Install Dependencies
run: npm install --ignore-scripts
- name: CMake Build Debug and Test on Linux
if: startsWith(matrix.os, 'ubuntu')
run: |
npm run clear
npm run build:debug
npm test
- name: CMake Build Debug and Test on macOS
if: startsWith(matrix.os, 'macos')
run: |
npm run clear
npx cmake-js build -D "--CDLLVM_DIR=$LLVM_CMAKE_DIR"
npm test
- name: CMake Build Release and Test on Windows
if: startsWith(matrix.os, 'windows')
run: |
npm run clear
npx cmake-js print-configure "--CDLLVM_DIR=$env:LLVM_CMAKE_DIR" '--CDCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL'
npx cmake-js build "--CDLLVM_DIR=$env:LLVM_CMAKE_DIR" '--CDCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL'
npm test
- name: CMake Build Release and Test on Linux
if: startsWith(matrix.os, 'ubuntu')
run: |
npm run clear
npm run build:release
npm test
- name: CMake Build Release and Test on macOS
if: startsWith(matrix.os, 'macos')
run: |
npm run clear
npx cmake-js build "--CDLLVM_DIR=$LLVM_CMAKE_DIR"
npm test
build-pr:
if: github.event_name == 'pull_request'
name: Node.js ${{ matrix.node }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ macos-15, macos-15-intel, macos-26, ubuntu-22.04, ubuntu-24.04, windows-2022 ]
node: [ 18, 20, 22 ]
steps:
- name: Fetch Codebase
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
check-latest: true
- name: Install LLVM and Ninja on macOS
if: startsWith(matrix.os, 'macos')
run: |
brew update
brew install llvm@${{ env.LLVM_VERSION_MAJOR }} ninja || brew link --overwrite python@3.12
echo "LLVM_CMAKE_DIR=$(brew --prefix llvm@${{ env.LLVM_VERSION_MAJOR }})/lib/cmake/llvm" >> $GITHUB_ENV
- name: Install LLVM and Ninja on Ubuntu (via llvm.sh)
if: startsWith(matrix.os, 'ubuntu') && matrix.os != 'ubuntu-22.04' && matrix.os != 'ubuntu-24.04'
run: |
sudo wget https://apt.llvm.org/llvm.sh
sudo chmod +x llvm.sh
sudo ./llvm.sh ${{ env.LLVM_VERSION_MAJOR }}
sudo apt-get install ninja-build
- name: Install LLVM and Ninja on Ubuntu 22.04
if: matrix.os == 'ubuntu-22.04'
run: |
sudo apt-get update
sudo apt-get install -y wget gnupg lsb-release software-properties-common ninja-build
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/llvm-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/llvm-archive-keyring.gpg] http://apt.llvm.org/jammy/ llvm-toolchain-jammy-${{ env.LLVM_VERSION_MAJOR }} main" | sudo tee /etc/apt/sources.list.d/llvm.list
sudo apt-get update
sudo apt-get install -y llvm-${{ env.LLVM_VERSION_MAJOR }}-dev
- name: Install LLVM and Ninja on Ubuntu 24.04
if: matrix.os == 'ubuntu-24.04'
run: |
sudo apt-get update
sudo apt-get install -y wget gnupg lsb-release software-properties-common ninja-build
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/llvm-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/llvm-archive-keyring.gpg] http://apt.llvm.org/noble/ llvm-toolchain-noble-${{ env.LLVM_VERSION_MAJOR }} main" | sudo tee /etc/apt/sources.list.d/llvm.list
sudo apt-get update
sudo apt-get install -y llvm-${{ env.LLVM_VERSION_MAJOR }}-dev
- name: Install LLVM on Windows
if: startsWith(matrix.os, 'windows')
run: |
$LLVM_VERSION = "${{ env.LLVM_VERSION }}"
$LLVM_PREBUILT_FILE = "llvm-$LLVM_VERSION-windows-2022.zip"
curl -sLO "https://github.com/DesignLiquido/llvm-windows/releases/download/llvmorg-$LLVM_VERSION/$LLVM_PREBUILT_FILE"
Expand-Archive -Path $LLVM_PREBUILT_FILE -DestinationPath .
$LLVM_CMAKE_DIR = "$pwd/LLVM-$LLVM_VERSION-win64/lib/cmake/llvm"
if (-not (Test-Path $LLVM_CMAKE_DIR)) {
Write-Error "LLVM CMake directory not found: $LLVM_CMAKE_DIR"
exit 1
}
"LLVM_CMAKE_DIR=$LLVM_CMAKE_DIR" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Install Dependencies
run: npm install --ignore-scripts
- name: CMake Build Debug and Test on Linux
if: startsWith(matrix.os, 'ubuntu')
run: |
npm run clear
npm run build:debug
npm test
- name: CMake Build Debug and Test on macOS
if: startsWith(matrix.os, 'macos')
run: |
npm run clear
npx cmake-js build -D "--CDLLVM_DIR=$LLVM_CMAKE_DIR"
npm test
- name: CMake Build Release and Test on Windows
if: startsWith(matrix.os, 'windows')
run: |
npm run clear
npx cmake-js print-configure "--CDLLVM_DIR=$env:LLVM_CMAKE_DIR" '--CDCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL'
npx cmake-js build "--CDLLVM_DIR=$env:LLVM_CMAKE_DIR" '--CDCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL'
npm test
- name: CMake Build Release and Test on Linux
if: startsWith(matrix.os, 'ubuntu')
run: |
npm run clear
npm run build:release
npm test
- name: CMake Build Release and Test on macOS
if: startsWith(matrix.os, 'macos')
run: |
npm run clear
npx cmake-js build "--CDLLVM_DIR=$LLVM_CMAKE_DIR"
npm test