Skip to content

ci: bump actions/checkout from 2.0.0 to 6.0.2 #17

ci: bump actions/checkout from 2.0.0 to 6.0.2

ci: bump actions/checkout from 2.0.0 to 6.0.2 #17

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
jobs:
build-and-test:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-24.04
lib-name: libimageflow_node.so
- os: macos-latest
lib-name: libimageflow_node.dylib
- os: macos-15-intel
lib-name: libimageflow_node.dylib
- os: windows-latest
lib-name: imageflow_node.dll
- os: windows-11-arm
lib-name: imageflow_node.dll
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6.0.2
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
- name: Cache Cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
native/target
key: ${{ runner.os }}-${{ runner.arch }}-cargo-${{ hashFiles('native/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-${{ runner.arch }}-cargo-
- name: Build native module
working-directory: native
run: cargo build
- name: Copy native artifact (Unix)
if: runner.os != 'Windows'
run: cp native/target/debug/${{ matrix.lib-name }} native/index.node
- name: Copy native artifact (Windows)
if: runner.os == 'Windows'
shell: bash
run: cp native/target/debug/${{ matrix.lib-name }} native/index.node
- name: Install dependencies
run: npm ci --ignore-scripts
- name: Build TypeScript
run: npm run build
- name: Run tests
run: npm test
publish-dry-run:
runs-on: ubuntu-24.04
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v6.0.2
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
registry-url: https://registry.npmjs.org/
- name: Install dependencies
run: npm ci --ignore-scripts
- name: Build TypeScript
run: npm run build
- name: Publish dry-run (verify OIDC + provenance)
run: npm publish --access public --provenance --dry-run