blas-array2 0.3.0

Parameter-optional BLAS wrapper by ndarray::Array (Ix1 or Ix2).
Documentation
name: Rust

on: ["push", "pull_request"]

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    runs-on: ubuntu-24.04
    steps:
    - name: Checkout repository
      uses: actions/checkout@v4
    - name: Install cargo-binstall
      uses: cargo-bins/cargo-binstall@main
    - name: System dependencies
      run: |
        sudo apt update
        sudo apt install -y gfortran cmake lld
    - name: Download OpenBLAS
      run: |
        wget https://github.com/OpenMathLib/OpenBLAS/releases/download/v0.3.27/OpenBLAS-0.3.27.tar.gz
        ls -l
        pwd
    - name: Build OpenBLAS
      run: |
        tar -xf OpenBLAS-0.3.27.tar.gz
        cd OpenBLAS-0.3.27
        mkdir build; cd build
        CC=gcc FC=gfortran cmake .. \
          -DBUILD_WITHOUT_LAPACK=1 -DBUILD_SHARED_LIBS=1 -DBUILD_BFLOAT16=1
        make -j4
        sudo make install
    - name: Install tarpaulin
      run: |
        cargo binstall --no-confirm cargo-tarpaulin
    - name: Coverage
      env:
        LD_LIBRARY_PATH: /usr/local/lib:$LD_LIBRARY_PATH
        RUSTFLAGS: -lopenblas -L/usr/local/lib
      run: |
        cargo tarpaulin --out xml
    - name: Upload to codecov.io
      uses: codecov/codecov-action@v4.5.0
      with:
        token: ${{secrets.CODECOV_TOKEN}}
        fail_ci_if_error: true