mathlex-eval 0.1.1

Numerical evaluator for mathlex ASTs with broadcasting support
Documentation
name: Swift CI

on:
  push:
    branches:
      - main
      - dev
  pull_request:
    branches:
      - main

jobs:
  swift-build:
    name: Swift Package Build
    runs-on: macos-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v5

      - name: Install Rust toolchain
        uses: dtolnay/rust-toolchain@stable
        with:
          targets: aarch64-apple-darwin,x86_64-apple-darwin

      - name: Cache Cargo dependencies
        uses: Swatinem/rust-cache@v2

      - name: Build Rust library with FFI and serde
        run: cargo build --release --features "ffi,serde"

      - name: Update generated Swift bridge files
        run: |
          cp generated/SwiftBridgeCore.h Sources/MathLexEvalBridge/include/
          cp generated/mathlex-eval/mathlex-eval.h Sources/MathLexEvalBridge/include/
          cp generated/SwiftBridgeCore.swift Sources/MathLexEvalRust/
          cp generated/mathlex-eval/mathlex-eval.swift Sources/MathLexEvalRust/

      - name: Build Swift package
        run: swift build