Skip to content

Release 0.7.2

Release 0.7.2 #117

Workflow file for this run

name: CI
on:
push:
branches: [main]
paths:
- "src/rust/**"
- "src/cpp/**"
- ".github/workflows/ci.yml"
pull_request:
branches: [main]
paths:
- "src/rust/**"
- "src/cpp/**"
- ".github/workflows/ci.yml"
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 just task runner
uses: taiki-e/install-action@just
- 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: just check-common
- name: Check WASM
run: just check-wasm
check-python:
name: Check Python
runs-on: ubuntu-latest
defaults:
run:
working-directory: src/rust
steps:
- uses: actions/checkout@v4
- name: Install just task runner
uses: taiki-e/install-action@just
- 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: just check-py
check-cpp-roundtrip:
name: Check C++ Roundtrip Tests
runs-on: ubuntu-latest
if: github.event_name == 'push' || github.event_name == 'pull_request'
defaults:
run:
working-directory: src/cpp
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y cmake nlohmann-json3-dev pkg-config libssl-dev
- name: Build and run roundtrip tests
run: |
mkdir -p build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc) fcb_roundtrip_comprehensive
- name: Run C++ roundtrip test
run: |
./build/fcb_roundtrip_comprehensive ../rust/fcb_core/tests/data