mathic 0.2.0

A compiler with builtin support of symbolic operations, built with LLVM/MLIR
name: Release on crates.io

permissions:
  contents: write
  discussions: write

on:
  push:
    tags:
      - "v*.*.*"

jobs:
  release:
    runs-on: ubuntu-24.04
    env:
        MLIR_SYS_210_PREFIX: /usr/lib/llvm-21/
        LLVM_SYS_211_PREFIX: /usr/lib/llvm-21/
        TABLEGEN_210_PREFIX: /usr/lib/llvm-21/
        CRATES_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
    steps:
      - name: Checkout
        uses: actions/checkout@v6

      - name: Install Rust env
        uses: dtolnay/rust-toolchain@1.94.0

      - name: Rust Cache
        uses: Swatinem/rust-cache@v2

      - name: Install LLVM Dependencies
        uses: ./.github/actions/install-llvm-deps

      - name: Publish Mathic
        run: |
          cargo login ${CRATES_TOKEN}
          cargo publish --all-features