File tree Expand file tree Collapse file tree 13 files changed +263
-75
lines changed Expand file tree Collapse file tree 13 files changed +263
-75
lines changed Original file line number Diff line number Diff line change 1+ on :
2+ push :
3+ branches : [main]
4+ pull_request :
5+ name : Address sanitizer
6+ jobs :
7+ test :
8+ runs-on : ubuntu-latest
9+ steps :
10+ - uses : actions-rs/toolchain@v1
11+ with :
12+ profile : minimal
13+ toolchain : nightly
14+ override : true
15+ - uses : actions/checkout@v2
16+ - name : cargo test -Zsanitizer=address
17+ uses : actions-rs/cargo@v1
18+ with :
19+ command : test
20+ # only --lib --tests b/c of https://github.com/rust-lang/rust/issues/53945
21+ args : --lib --tests --all-features --target x86_64-unknown-linux-gnu
22+ env :
23+ ASAN_OPTIONS : " detect_odr_violation=0"
24+ RUSTFLAGS : " -Z sanitizer=address"
Original file line number Diff line number Diff line change 1+ on :
2+ push :
3+ branches : [main]
4+ pull_request :
5+ name : coverage
6+ jobs :
7+ test :
8+ runs-on : ubuntu-latest
9+ container :
10+ image : xd009642/tarpaulin
11+ options : --security-opt seccomp=unconfined
12+ steps :
13+ - uses : actions/checkout@v2
14+ - name : Generate code coverage
15+ run : |
16+ cargo tarpaulin --verbose --all-features --timeout 120 --out Xml
17+ - name : Upload to codecov.io
18+ uses : codecov/codecov-action@v2
19+ with :
20+ fail_ci_if_error : true
Original file line number Diff line number Diff line change 1+ on :
2+ push :
3+ branches : [main]
4+ pull_request :
5+ name : cargo hack
6+ jobs :
7+ check :
8+ runs-on : ubuntu-latest
9+ steps :
10+ - uses : actions-rs/toolchain@v1
11+ with :
12+ profile : minimal
13+ toolchain : stable
14+ - uses : actions/checkout@v2
15+ - name : Install cargo-hack
16+ uses :
actions-rs/[email protected] 17+ with :
18+ crate : cargo-hack
19+ version : latest
20+ use-tool-cache : true
21+ - name : cargo hack
22+ uses : actions-rs/cargo@v1
23+ with :
24+ command : hack
25+ args : --feature-powerset check
Original file line number Diff line number Diff line change 1+ on :
2+ push :
3+ branches : [main]
4+ pull_request :
5+ name : Loom
6+ jobs :
7+ test :
8+ runs-on : ubuntu-latest
9+ steps :
10+ - uses : actions-rs/toolchain@v1
11+ with :
12+ toolchain : stable
13+ profile : minimal
14+ - uses : actions/checkout@v2
15+ - name : cargo test --test loom
16+ uses : actions-rs/cargo@v1
17+ with :
18+ command : test
19+ args : --release --test loom
20+ env :
21+ LOOM_MAX_PREEMPTIONS : 3
22+ RUSTFLAGS : " --cfg loom"
Original file line number Diff line number Diff line change 1+ on :
2+ push :
3+ branches : [main]
4+ pull_request :
5+ name : Leak sanitizer
6+ jobs :
7+ test :
8+ runs-on : ubuntu-latest
9+ steps :
10+ - uses : actions-rs/toolchain@v1
11+ with :
12+ profile : minimal
13+ toolchain : nightly
14+ override : true
15+ - uses : actions/checkout@v2
16+ - run : |
17+ # to get the symbolizer for debug symbol resolution
18+ sudo apt install llvm
19+ # to fix buggy leak analyzer:
20+ # https://github.com/japaric/rust-san#unrealiable-leaksanitizer
21+ sed -i '/\[features\]/i [profile.dev]' Cargo.toml
22+ sed -i '/profile.dev/a opt-level = 1' Cargo.toml
23+ cat Cargo.toml
24+ name: Enable debug symbols
25+ - name : cargo test -Zsanitizer=leak
26+ uses : actions-rs/cargo@v1
27+ with :
28+ command : test
29+ args : --all-features --target x86_64-unknown-linux-gnu
30+ env :
31+ RUSTFLAGS : " -Z sanitizer=leak"
32+ # LSAN_OPTIONS: "suppressions=lsan-suppressions.txt"
Original file line number Diff line number Diff line change 1+ on :
2+ push :
3+ branches : [main]
4+ pull_request :
5+ name : With dependencies at minimal versions
6+ jobs :
7+ test :
8+ runs-on : ubuntu-latest
9+ steps :
10+ - uses : actions-rs/toolchain@v1
11+ with :
12+ profile : minimal
13+ toolchain : nightly
14+ - uses : actions-rs/toolchain@v1
15+ with :
16+ profile : minimal
17+ toolchain : stable
18+ - uses : actions/checkout@v2
19+ - name : cargo update -Zminimal-versions
20+ uses : actions-rs/cargo@v1
21+ with :
22+ command : update
23+ toolchain : nightly
24+ args : -Zminimal-versions
25+ - name : cargo test
26+ uses : actions-rs/cargo@v1
27+ with :
28+ command : test
29+ args : --all-features
Original file line number Diff line number Diff line change 1+ on :
2+ push :
3+ branches : [main]
4+ pull_request :
5+ name : Miri
6+ jobs :
7+ test :
8+ runs-on : ubuntu-latest
9+ steps :
10+ - run : |
11+ echo "NIGHTLY=nightly-$(curl -s https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/miri)" >> $GITHUB_ENV
12+ - uses : actions-rs/toolchain@v1
13+ with :
14+ profile : minimal
15+ toolchain : ${{ env.NIGHTLY }}
16+ override : true
17+ components : miri
18+ - uses : actions/checkout@v2
19+ - name : cargo miri test
20+ uses : actions-rs/cargo@v1
21+ with :
22+ command : miri
23+ args : test
24+ env :
25+ MIRIFLAGS : " -Zmiri-tag-raw-pointers"
Original file line number Diff line number Diff line change 1+ on :
2+ push :
3+ branches : [main]
4+ pull_request :
5+ name : Minimum Supported Rust Version
6+ jobs :
7+ check :
8+ runs-on : ubuntu-latest
9+ steps :
10+ - uses : actions-rs/toolchain@v1
11+ with :
12+ profile : minimal
13+ toolchain : 1.40.0
14+ override : true
15+ - uses : actions/checkout@v2
16+ - name : cargo +1.40.0 check
17+ uses : actions-rs/cargo@v1
18+ with :
19+ command : check
Original file line number Diff line number Diff line change 1+ on :
2+ push :
3+ branches : [main]
4+ pull_request :
5+ name : lint
6+ jobs :
7+ style :
8+ runs-on : ubuntu-latest
9+ name : ${{ matrix.toolchain }}
10+ strategy :
11+ fail-fast : false
12+ matrix :
13+ toolchain : [stable, beta]
14+ steps :
15+ - uses : actions-rs/toolchain@v1
16+ with :
17+ profile : minimal
18+ toolchain : ${{ matrix.toolchain }}
19+ components : rustfmt, clippy
20+ - uses : actions/checkout@v2
21+ - name : cargo fmt --check
22+ uses : actions-rs/cargo@v1
23+ with :
24+ command : fmt
25+ args : --check
26+ - name : cargo doc
27+ uses : actions-rs/cargo@v1
28+ if : always()
29+ with :
30+ command : doc
31+ args : --no-deps --all-features
32+ - name : cargo clippy
33+ uses : actions-rs/clippy-check@v1
34+ if : always()
35+ with :
36+ token : ${{ secrets.GITHUB_TOKEN }}
Original file line number Diff line number Diff line change 1+ on :
2+ push :
3+ branches : [main]
4+ pull_request :
5+ name : cargo test
6+ jobs :
7+ test :
8+ runs-on : ${{ matrix.os }}
9+ name : ${{ matrix.os }} / ${{ matrix.toolchain }}
10+ strategy :
11+ fail-fast : false
12+ matrix :
13+ os : [ubuntu-latest, macos-latest, windows-latest]
14+ toolchain : [stable]
15+ include :
16+ - os : ubuntu-latest
17+ toolchain : beta
18+ - os : ubuntu-latest
19+ toolchain : nightly
20+ steps :
21+ - uses : actions-rs/toolchain@v1
22+ with :
23+ profile : minimal
24+ toolchain : ${{ matrix.toolchain }}
25+ - uses : actions/checkout@v2
26+ - name : cargo test
27+ uses : actions-rs/cargo@v1
28+ with :
29+ command : test
30+ args : --all-features
You can’t perform that action at this time.
0 commit comments