Skip to content

Make the string cache completely lock-free #5

Make the string cache completely lock-free

Make the string cache completely lock-free #5

Workflow file for this run

name: test
on:
push:
branches: [master]
pull_request:
env:
CARGO_TERM_COLOR: always
jobs:
test:
name: test (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v7
- run: rustup update stable && rustup default stable
- uses: actions/cache@v6
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: test-${{ matrix.os }}-${{ hashFiles('**/Cargo.toml') }}
- run: cargo test
- run: cargo test --features serialization
- run: cargo test --release --features serialization
# The tests build with tiny table and arena sizes (see src/stringcache.rs)
# so this exercises table growth and migration under Miri's data-race and
# provenance checking, including the threaded stress tests.
miri:
name: miri
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- run: |
rustup toolchain install nightly --profile minimal --component miri
rustup default nightly
- uses: actions/cache@v6
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: miri-${{ hashFiles('**/Cargo.toml') }}
- run: cargo miri test
wasm32:
name: wasm32 build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- run: |
rustup update stable && rustup default stable
rustup target add wasm32-unknown-unknown
- uses: actions/cache@v6
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: wasm32-${{ hashFiles('**/Cargo.toml') }}
- run: cargo build --release --target wasm32-unknown-unknown