name: Stress Test on: pull_request: push: branches: - master env: RUSTFLAGS: -Dwarnings RUST_BACKTRACE: 1 # Change to specific Rust release to pin rust_stable: stable permissions: contents: read jobs: stress-test: name: Stress Test runs-on: ubuntu-latest strategy: matrix: stress-test: - simple_echo_tcp steps: - uses: actions/checkout@v3 - name: Install Rust ${{ env.rust_stable }} uses: dtolnay/rust-toolchain@master with: toolchain: ${{ env.rust_stable }} - uses: Swatinem/rust-cache@v2 - name: Install Valgrind uses: taiki-e/install-action@valgrind # Compiles each of the stress test examples. - name: Compile stress test examples run: cargo build -p stress-test --release --example ${{ matrix.stress-test }} # Runs each of the examples using Valgrind. Detects leaks and displays them. - name: Run valgrind run: valgrind --error-exitcode=1 --leak-check=full --show-leak-kinds=all ./target/release/examples/${{ matrix.stress-test }}