Make the string cache completely lock-free #5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |