Skip to content

ci: re-pin the MSRV matrix to 1.88 and modernise the actions #458

ci: re-pin the MSRV matrix to 1.88 and modernise the actions

ci: re-pin the MSRV matrix to 1.88 and modernise the actions #458

Workflow file for this run

name: Rust
on: [push, pull_request]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
rust:
# Must match `rust-version` in Cargo.toml.
- 1.88.0
- stable
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.rust }}
# The c-api and benches crates are outside the root package, so each needs
# its own cache entry.
- name: Cache
uses: Swatinem/rust-cache@v2
with:
workspaces: |
. -> target
c-api -> target
benches -> target
- name: Build with no default features
run: cargo build --no-default-features --features=no-std-float
- name: Build with std
run: cargo build --no-default-features --features=std
- name: Build with variable-fonts
run: cargo build --no-default-features --features=variable-fonts,no-std-float
- name: Build with all features
run: cargo build --all-features
- name: Run tests
run: cargo test
- name: Build C API
working-directory: c-api
run: cargo build --no-default-features
- name: Build C API with variable-fonts
working-directory: c-api
run: cargo build --no-default-features --features=variable-fonts
- name: Test C API
working-directory: c-api
run: |
cargo build
gcc test.c -o test -L./target/debug/ -lttfparser -Werror -fsanitize=address
env LD_LIBRARY_PATH=./target/debug/ ./test
- name: Build benches
working-directory: benches
run: cargo bench dummy # `cargo build` will not actually build it