Skip to content

feat: C++ bindings support #87

feat: C++ bindings support

feat: C++ bindings support #87

Workflow file for this run

name: CI
on:
push:
branches: [main]
paths:
- "src/rust/**"
- ".github/workflows/**"
pull_request:
branches: [main]
paths:
- "src/rust/**"
- ".github/workflows/**"
env:
CARGO_TERM_COLOR: always
PYO3_USE_ABI3_FORWARD_COMPATIBILITY: 1
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
check:
name: Check
runs-on: ubuntu-latest
defaults:
run:
working-directory: src/rust
steps:
- uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- name: Rust Cache
uses: Swatinem/rust-cache@v2
with:
workspaces: src/rust
shared-key: "fcb-rust-ci"
- name: Add wasm target
run: rustup target add wasm32-unknown-unknown
- name: Install nextest
uses: taiki-e/install-action@nextest
- name: Check Rust crates
run: make check-common
- name: Check WASM
run: make check-wasm
check-python:
name: Check Python
runs-on: ubuntu-latest
defaults:
run:
working-directory: src/rust
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install system dependencies (Linux)
run: |
sudo apt-get update
sudo apt-get install -y pkg-config libssl-dev
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Rust Cache
uses: Swatinem/rust-cache@v2
with:
workspaces: src/rust
shared-key: "fcb-python-ci"
- name: Install uv
uses: astral-sh/setup-uv@v4
- name: Check Python package
run: make check-py