• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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