1name: Rust 2 3on: 4 push: 5 branches-ignore: 6 - trying.tmp 7 - staging.tmp 8 pull_request: 9 10env: 11 RUST_TEST_THREADS: 1 12 13jobs: 14 build_tier_one: 15 runs-on: ${{ matrix.os }}-latest 16 strategy: 17 matrix: 18 os: [ubuntu, macos, windows] 19 channel: [1.36.0, stable, beta, nightly] 20 feature: [serde, deadlock_detection] 21 exclude: 22 - feature: deadlock_detection 23 channel: '1.36.0' 24 include: 25 - channel: nightly 26 feature: nightly 27 os: ubuntu 28 29 steps: 30 - uses: actions/checkout@v2 31 - run: rustup default ${{ matrix.channel }} 32 - run: cargo build --all 33 - run: cargo test --all 34 - run: cargo build --all --features ${{ matrix.feature }} 35 - run: cargo test --all --features ${{ matrix.feature }} 36 if: matrix.feature == 'nightly' 37 build_other_platforms: 38 runs-on: ubuntu-latest 39 strategy: 40 matrix: 41 target: 42 - wasm32-unknown-unknown 43 - x86_64-fortanix-unknown-sgx 44 #- x86_64-unknown-redox 45 #- x86_64-linux-android 46 steps: 47 - uses: actions/checkout@v2 48 - run: rustup default nightly 49 - run: rustup target add ${{ matrix.target }} 50 - run: cargo build --workspace --target ${{ matrix.target }} --features nightly 51 build_docs: 52 runs-on: ubuntu-latest 53 steps: 54 - uses: actions/checkout@v2 55 - run: rustup default nightly 56 - run: cargo doc --workspace --features serde,deadlock_detection --no-deps -p parking_lot -p parking_lot_core -p lock_api 57 benchmark: 58 runs-on: ubuntu-latest 59 steps: 60 - uses: actions/checkout@v2 61 - run: rustup default nightly 62 - run: | 63 cd benchmark 64 cargo run --release --bin mutex -- 2 1 0 1 2 65 cargo run --release --bin rwlock -- 1 1 1 0 1 2 66