on: push: branches: [main] pull_request: name: Leak sanitizer jobs: test: runs-on: ubuntu-latest steps: - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly override: true - uses: actions/checkout@v2 - run: | # to get the symbolizer for debug symbol resolution sudo apt install llvm # to fix buggy leak analyzer: # https://github.com/japaric/rust-san#unrealiable-leaksanitizer sed -i '/\[features\]/i [profile.dev]' Cargo.toml sed -i '/profile.dev/a opt-level = 1' Cargo.toml cat Cargo.toml name: Enable debug symbols - name: cargo test -Zsanitizer=leak uses: actions-rs/cargo@v1 with: command: test args: --all-features --target x86_64-unknown-linux-gnu env: RUSTFLAGS: "-Z sanitizer=leak" LSAN_OPTIONS: "suppressions=lsan-suppressions.txt"