Skip to content

feat: Python and Node bindings (v1: conversion) #2

feat: Python and Node bindings (v1: conversion)

feat: Python and Node bindings (v1: conversion) #2

Workflow file for this run

name: bindings-node
on:
push:
branches: [main, feature/bindings]
paths:
- 'crates/engine/**'
- 'crates/js/**'
- 'bindings/node/**'
- 'bindings/CHROME_VERSION'
- '.github/workflows/bindings-node.yml'
pull_request:
paths:
- 'crates/engine/**'
- 'crates/js/**'
- 'bindings/node/**'
- 'bindings/CHROME_VERSION'
- '.github/workflows/bindings-node.yml'
workflow_dispatch:
jobs:
smoke:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: "20" }
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
workspaces: ". -> target"
- name: Install npm deps
working-directory: bindings/node
run: npm install
- name: Build native module
working-directory: bindings/node
run: npm run build:debug
- name: Run smoke tests
working-directory: bindings/node
run: npm test
e2e:
if: github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: "20" }
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
workspaces: ". -> target"
- name: Build + E2E
working-directory: bindings/node
env: { FOLIO_E2E: "1" }
run: |
npm install
npm run build:debug
npm test