Skip to content

Allow all LLVM versions >= 15 and support dynamic linking #181

Allow all LLVM versions >= 15 and support dynamic linking

Allow all LLVM versions >= 15 and support dynamic linking #181

Workflow file for this run

name: Rust
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
CARGO_TERM_COLOR: always
jobs:
linux-llvm-15:
runs-on: ubuntu-latest
env:
working-dir: ./bindings/rust
NYXSTONE_LLVM_PREFIX: "/usr/lib/llvm-15/"
NYXSTONE_LINK_FFI: "1"
steps:
- uses: actions/checkout@v3
- name: Packages
run: |
sudo apt-get update
sudo apt-get install llvm-15 llvm-15-dev zlib1g-dev libzstd-dev
- name: Code quality
run: |
cargo fmt --all -- --check
cargo clippy -- -D warnings
working-directory: ${{ env.working-dir }}
- name: Build
run: cargo build
working-directory: ${{ env.working-dir }}
- name: Run tests
run: cargo test
working-directory: ${{ env.working-dir }}
mac-llvm-15:
runs-on: macos-latest
env:
working-dir: ./bindings/rust
steps:
- uses: actions/checkout@v3
- name: Packages
run: brew install llvm@15
- name: Build
run: RUSTFLAGS="-L$(brew --prefix zstd)/lib" NYXSTONE_LLVM_PREFIX="$(brew --prefix llvm@15)" NYXSTONE_LINK_FFI=1 cargo build
working-directory: ${{ env.working-dir }}
- name: Run tests
run: RUSTFLAGS="-L$(brew --prefix zstd)/lib" RUSTDOCFLAGS="-L$(brew --prefix zstd)/lib" NYXSTONE_LLVM_PREFIX="$(brew --prefix llvm@15)" NYXSTONE_LINK_FFI=1 cargo test
working-directory: ${{ env.working-dir }}
mac-llvm-16:
runs-on: macos-latest
env:
working-dir: ./bindings/rust
steps:
- uses: actions/checkout@v3
- name: Packages
run: brew install llvm@16
- name: Build
run: RUSTFLAGS="-L$(brew --prefix zstd)/lib" NYXSTONE_LLVM_PREFIX="$(brew --prefix llvm@16)" NYXSTONE_LINK_FFI=1 cargo build
working-directory: ${{ env.working-dir }}
- name: Run tests
run: RUSTFLAGS="-L$(brew --prefix zstd)/lib" RUSTDOCFLAGS="-L$(brew --prefix zstd)/lib" NYXSTONE_LLVM_PREFIX="$(brew --prefix llvm@16)" NYXSTONE_LINK_FFI=1 cargo test
working-directory: ${{ env.working-dir }}
mac-llvm-17:
runs-on: macos-latest
env:
working-dir: ./bindings/rust
steps:
- uses: actions/checkout@v3
- name: Packages
run: brew install llvm@17
- name: Build
run: RUSTFLAGS="-L$(brew --prefix zstd)/lib" NYXSTONE_LLVM_PREFIX="$(brew --prefix llvm@17)" NYXSTONE_LINK_FFI=1 cargo build
working-directory: ${{ env.working-dir }}
- name: Run tests
run: RUSTFLAGS="-L$(brew --prefix zstd)/lib" RUSTDOCFLAGS="-L$(brew --prefix zstd)/lib" NYXSTONE_LLVM_PREFIX="$(brew --prefix llvm@17)" NYXSTONE_LINK_FFI=1 cargo test
working-directory: ${{ env.working-dir }}
mac-llvm-18:
runs-on: macos-latest
env:
working-dir: ./bindings/rust
steps:
- uses: actions/checkout@v3
- name: Packages
run: brew install llvm@18
- name: Build
run: RUSTFLAGS="-L$(brew --prefix zstd)/lib" NYXSTONE_LLVM_PREFIX="$(brew --prefix llvm@18)" NYXSTONE_LINK_FFI=1 cargo build
working-directory: ${{ env.working-dir }}
- name: Run tests
run: RUSTFLAGS="-L$(brew --prefix zstd)/lib" RUSTDOCFLAGS="-L$(brew --prefix zstd)/lib" NYXSTONE_LLVM_PREFIX="$(brew --prefix llvm@18)" NYXSTONE_LINK_FFI=1 cargo test
working-directory: ${{ env.working-dir }}