Skip to content

ci

ci #102

Workflow file for this run

name: CI

Check failure on line 1 in .github/workflows/ci.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/ci.yml

Invalid workflow file

(Line: 36, Col: 14): Unrecognized named-value: 'JUST_VERSION'. Located at position 1 within expression: JUST_VERSION, (Line: 79, Col: 14): Unrecognized named-value: 'JUST_VERSION'. Located at position 1 within expression: JUST_VERSION, (Line: 117, Col: 5): Unexpected value 'paths'
on:
push:
branches: [main]
paths:
- "src/rust/**"
- ".github/workflows/ci.yml"
pull_request:
branches: [main]
paths:
- "src/rust/**"
- ".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
run: |
curl --proto '=https' --tlsv1.2 --silent --show-error --fail "https://github.com/casey/just/releases/download/${{JUST_VERSION}}/just-${{JUST_VERSION}}-${{JUST_OS}}-{{ JUST_ARCH }}.tar.gz" | tar -xz -x -C /usr/local/bin
just --version
env:
JUST_OS: linux
JUST_ARCH: x64
JUST_VERSION: "1.34.0"
shell: bash
- 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
run: |
curl --proto '=https' --tlsv1.2 --silent --show-error --fail "https://github.com/casey/just/releases/download/${{JUST_VERSION}}/just-${{JUST_VERSION}}-${{JUST_OS}}-{{ JUST_ARCH }}.tar.gz" | tar -xz -x -C /usr/local/bin
just --version
env:
JUST_OS: linux
JUST_ARCH: x64
JUST_VERSION: "1.34.0"
shell: bash
- 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 == 'push' || github.event == 'pull_request'
paths:
- "src/cpp/**"
- "src/rust/fcb_cpp/**"
- ".github/workflows/ci.yml"
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: |
./fcb_roundtrip_comprehensive ../rust/fcb_core/tests/data