rbufr/.github/workflows/ci.yml
Tsuki d3f020b6c3
Some checks failed
CI / Rust Tests (push) Waiting to run
CI / Python Tests (macos-latest, 3.11) (push) Waiting to run
CI / Python Tests (macos-latest, 3.13) (push) Waiting to run
CI / Python Tests (macos-latest, 3.8) (push) Waiting to run
CI / Python Tests (ubuntu-latest, 3.11) (push) Waiting to run
CI / Python Tests (ubuntu-latest, 3.13) (push) Waiting to run
CI / Python Tests (ubuntu-latest, 3.8) (push) Waiting to run
CI / Python Tests (windows-latest, 3.11) (push) Waiting to run
CI / Python Tests (windows-latest, 3.13) (push) Waiting to run
CI / Python Tests (windows-latest, 3.8) (push) Waiting to run
CI / Check Formatting (push) Waiting to run
Build Wheels (cibuildwheel) / Build wheels on Linux (aarch64) (push) Has been cancelled
Build Wheels (cibuildwheel) / Build wheels on Linux (x86_64) (push) Has been cancelled
Build Wheels (cibuildwheel) / Build wheels on macOS (arm64) (push) Has been cancelled
Build Wheels (cibuildwheel) / Build wheels on macOS (x86_64) (push) Has been cancelled
Build Wheels (cibuildwheel) / Build wheels on Windows (push) Has been cancelled
Build Wheels (cibuildwheel) / Build source distribution (push) Has been cancelled
Build Wheels (cibuildwheel) / Publish to GitHub Release (push) Has been cancelled
sync
2026-01-08 01:27:20 +08:00

104 lines
2.5 KiB
YAML

name: CI
on:
push:
branches:
- main
- master
pull_request:
jobs:
rust-test:
name: Rust Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
- name: Cache cargo registry
uses: actions/cache@v4
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo index
uses: actions/cache@v4
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-git-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo build
uses: actions/cache@v4
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
- name: Run cargo check
run: cargo check --all --verbose
- name: Run cargo test
run: cargo test --all --verbose
- name: Run cargo clippy
run: cargo clippy --all -- -D warnings
- name: Run cargo fmt check
run: cargo fmt --all -- --check
python-test:
name: Python Tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ['3.8', '3.11', '3.13']
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
- name: Install maturin
run: pip install maturin pytest
- name: Build Python package
working-directory: rbufrp
run: maturin develop --release
- name: Test Python package
working-directory: rbufrp
run: |
python -c "import rbufrp; print(rbufrp.__version__)"
python -c "import rbufrp; print(rbufrp.get_tables_path())"
check-formatting:
name: Check Formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install ruff
run: pip install ruff
- name: Check Python formatting with ruff
run: |
ruff check rbufrp/src/rbufrp/
ruff format --check rbufrp/src/rbufrp/