Skip to content

Update bindgen requirement from 0.69.1 to 0.70.1 #79

Update bindgen requirement from 0.69.1 to 0.70.1

Update bindgen requirement from 0.69.1 to 0.70.1 #79

Workflow file for this run

name: Rust CI
on:
push:
branches:
- main
pull_request:
branches:
- "*"
jobs:
test:
strategy:
fail-fast: false
matrix:
rust:
- stable
- beta
- nightly
- 1.70.0
os:
- ubuntu-latest
- windows-latest
- macos-latest
clang:
- 14.0
runs-on: ${{ matrix.os }}
steps:
- name: Checkout source
uses: actions/checkout@v4
with:
submodules: recursive
# LLVM and Clang installation
# https://github.com/KyleMayes/clang-sys/blob/a0bcae1a9d7ab6ed8de010b0f5e2b2020c20d204/.github/workflows/ci.yml#L23-L35
# The clang and clang-sys crates' CI has example of installing LLVM and Clang
# along with how to update the environment variables (see Build & Test) so
# that bindgen can find libclang and depedencies
- name: Cache LLVM and Clang
id: cache-llvm
uses: actions/cache@v4
with:
path: ${{ runner.temp }}/llvm-${{ matrix.clang }}
key: ${{ matrix.os }}-llvm-${{ matrix.clang }}
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v2
with:
version: ${{ matrix.clang }}
directory: ${{ runner.temp }}/llvm-${{ matrix.clang }}
cached: ${{ steps.cache-llvm.outputs.cache-hit }}
# Rust
- name: Install ${{ matrix.rust }} toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{matrix.rust}}
- name: Build
run: cargo build --all
env:
LIBCLANG_PATH: ${{ runner.temp }}/llvm-${{ matrix.clang }}/lib
LLVM_CONFIG_PATH: ${{ runner.temp }}/llvm-${{ matrix.clang }}/bin/llvm-config
- name: Test
run: cargo test --all
env:
LIBCLANG_PATH: ${{ runner.temp }}/llvm-${{ matrix.clang }}/lib
LLVM_CONFIG_PATH: ${{ runner.temp }}/llvm-${{ matrix.clang }}/bin/llvm-config
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install nightly toolchain
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt clippy
- name: Check format
run: cargo fmt --all --check
- name: Lint
run: cargo clippy