dace-rs 0.2.1

Pure Rust implementation of DACE, the Differential Algebra Computational Toolbox
Documentation
# Rust 检查与测试门禁:rustfmt、clippy、全量测试(含 doctest 与 golden parity 测试)。
# Action 版本策略:统一跟踪 major tag(checkout@v4 等),升级一律经 PR 审查,不 pin SHA。
# 纯 Rust 实现,四个目标平台(Linux/Windows × x64/aarch64)均无需 C 工具链。
name: CI

on:
  push:
    branches: [master]
  pull_request:
    branches: [master]

# 同分支新推送到来时取消旧运行,节省 CI 资源
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true
permissions:
  contents: read

jobs:
  lint:
    runs-on: ubuntu-latest
    timeout-minutes: 20
    steps:
      - uses: actions/checkout@v7
        with:
          persist-credentials: false

      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt, clippy

      - uses: Swatinem/rust-cache@v2

      - name: rustfmt
        run: cargo fmt --all -- --check

      - name: clippy
        run: cargo clippy --workspace --all-targets --locked -- -D warnings

  test:
    name: test (${{ matrix.target }})
    runs-on: ${{ matrix.os }}
    timeout-minutes: 30
    strategy:
      fail-fast: false
      matrix:
        include:
          - os: ubuntu-latest
            target: linux-x64
          - os: ubuntu-24.04-arm
            target: linux-arm64
          - os: windows-latest
            target: windows-x64
          - os: windows-11-arm
            target: windows-arm64
    steps:
      - uses: actions/checkout@v7
        with:
          persist-credentials: false

      - uses: dtolnay/rust-toolchain@stable

      - uses: Swatinem/rust-cache@v2

      - name: test(含 doctest 与 golden parity 测试)
        run: cargo test --workspace --locked