Skip to content

feat!: change TraceWith trait bounds to be on the field types and not on generics when deriving Trace #308

feat!: change TraceWith trait bounds to be on the field types and not on generics when deriving Trace

feat!: change TraceWith trait bounds to be on the field types and not on generics when deriving Trace #308

Workflow file for this run

name: Rust
on:
push:
branches: ["master"]
pull_request:
branches: ["master"]
env:
CARGO_TERM_COLOR: always
jobs:
test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-latest
- windows-latest
- macOS-latest
toolchain:
- nightly
- stable
cargo_flags:
- "--all-features"
- "--no-default-features"
- ""
exclude:
- cargo_flags: "--all-features"
toolchain: stable
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.toolchain }}
- name: Generate lockfile
run: cargo generate-lockfile
- name: Cache
id: cache-restore
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}-${{ matrix.cargo_flags }}
- name: Build with tests
uses: actions-rs/cargo@v1
with:
command: test
args: --no-run --workspace ${{ matrix.cargo_flags }} --exclude dumpster_bench
- name: Run tests
uses: actions-rs/cargo@v1
with:
command: test
args: --workspace ${{ matrix.cargo_flags }} --exclude dumpster_bench
- name: Save cache
id: cache-save
uses: actions/cache/save@v4
if: always() && steps.cache-restore.cache-hit != 'true'
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}-${{ matrix.cargo_flags }}
miri:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-latest
- windows-latest
- macOS-latest
toolchain:
- nightly
cargo_flags:
- "--all-features"
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.toolchain }}
components: miri
- name: Generate lockfile
run: cargo generate-lockfile
- name: Cache
id: cache-restore
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-miri-${{ hashFiles('**/Cargo.lock') }}-${{ matrix.cargo_flags }}
- name: Build miri test executables
uses: actions-rs/cargo@v1
with:
command: miri
args: test --no-run --workspace ${{ matrix.cargo_flags }} --exclude dumpster_bench
- name: Run miri tests
uses: actions-rs/cargo@v1
with:
command: miri
args: test --workspace ${{ matrix.cargo_flags }} --exclude dumpster_bench
- name: Save cache
id: cache-save
uses: actions/cache/save@v4
if: always() && steps.cache-restore.cache-hit != 'true'
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-miri-${{ hashFiles('**/Cargo.lock') }}-${{ matrix.cargo_flags }}
loom:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v2
- name: Install rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Generate lockfile
run: cargo generate-lockfile
- name: Cache
id: cache-restore
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-loom-${{ hashFiles('**/Cargo.lock') }}
- name: Build with tests
uses: actions-rs/cargo@v1
env:
RUSTFLAGS: "--cfg loom"
with:
command: test
args: --lib -p dumpster loom --release --no-run
- name: Run tests
uses: actions-rs/cargo@v1
env:
RUSTFLAGS: "--cfg loom"
with:
command: test
args: --lib -p dumpster loom --release
- name: Save cache
id: cache-save
uses: actions/cache/save@v4
if: always() && steps.cache-restore.cache-hit != 'true'
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-loom-${{ hashFiles('**/Cargo.lock') }}