mirror of https://github.com/tracel-ai/burn.git
ci/Vulnerabilities checker (#964)
* ci: Add vulnerabilities checker * Fix * Fix * Fix * More options * Schedule vulnerabilities * Remove
This commit is contained in:
parent
03af140e12
commit
1d4e91ad32
|
@ -0,0 +1,122 @@
|
|||
name: vulnerabilities
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 21 * * TUE' # Run every Tuesday at 21:00 (UTC)
|
||||
push:
|
||||
tags:
|
||||
- 'v*.*.*'
|
||||
|
||||
jobs:
|
||||
|
||||
valgrind:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install llvmpipe and lavapipe
|
||||
run: |
|
||||
sudo apt-get update -y -qq
|
||||
sudo add-apt-repository ppa:kisak/kisak-mesa -y
|
||||
sudo apt-get update
|
||||
sudo apt install -y libegl1-mesa libgl1-mesa-dri libxcb-xfixes0-dev mesa-vulkan-drivers
|
||||
|
||||
- name: Install valgrind
|
||||
run: |
|
||||
sudo apt-get install valgrind
|
||||
|
||||
- name: Run cargo-valgrind
|
||||
env:
|
||||
CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER: "valgrind -s --leak-check=full --show-leak-kinds=all --error-exitcode=1"
|
||||
# Looking for vulnerabilities
|
||||
run: |
|
||||
cargo test
|
||||
|
||||
cargo-careful:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install Rust nightly
|
||||
uses: dtolnay/rust-toolchain@nightly
|
||||
with:
|
||||
toolchain: nightly
|
||||
components: rustfmt, rust-src
|
||||
|
||||
- name: Install llvmpipe and lavapipe
|
||||
run: |
|
||||
sudo apt-get update -y -qq
|
||||
sudo add-apt-repository ppa:kisak/kisak-mesa -y
|
||||
sudo apt-get update
|
||||
sudo apt install -y libegl1-mesa libgl1-mesa-dri libxcb-xfixes0-dev mesa-vulkan-drivers
|
||||
|
||||
- name: Install cargo-careful
|
||||
env:
|
||||
CAREFUL_LINK: https://github.com/RalfJung/cargo-careful/releases/download
|
||||
CAREFUL_VERSION: 0.4.0
|
||||
run: |
|
||||
curl -L "$CAREFUL_LINK/v$CAREFUL_VERSION/cargo-careful.x86_64-unknown-linux-musl" \
|
||||
--output $HOME/.cargo/bin/cargo-careful
|
||||
chmod +x $HOME/.cargo/bin/cargo-careful
|
||||
|
||||
- name: Run cargo-careful
|
||||
# Looking for undefined behaviours
|
||||
run: cargo +nightly careful test
|
||||
|
||||
address-sanitizer:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install Rust nightly
|
||||
uses: dtolnay/rust-toolchain@nightly
|
||||
with:
|
||||
toolchain: nightly
|
||||
components: rustfmt, rust-src
|
||||
|
||||
- name: Install llvmpipe and lavapipe
|
||||
run: |
|
||||
sudo apt-get update -y -qq
|
||||
sudo add-apt-repository ppa:kisak/kisak-mesa -y
|
||||
sudo apt-get update
|
||||
sudo apt install -y libegl1-mesa libgl1-mesa-dri libxcb-xfixes0-dev mesa-vulkan-drivers
|
||||
|
||||
- name: Run AddressSanitizer
|
||||
env:
|
||||
RUSTFLAGS: -Zsanitizer=address -Copt-level=3
|
||||
RUSTDOCFLAGS: -Zsanitizer=address
|
||||
# Looking for memory vulnerabilities
|
||||
run: cargo test -Zbuild-std --target x86_64-unknown-linux-gnu -- --nocapture
|
||||
|
||||
thread-sanitizer:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install Rust nightly
|
||||
uses: dtolnay/rust-toolchain@nightly
|
||||
with:
|
||||
toolchain: nightly
|
||||
components: rustfmt, rust-src
|
||||
|
||||
- name: Install llvmpipe and lavapipe
|
||||
run: |
|
||||
sudo apt-get update -y -qq
|
||||
sudo add-apt-repository ppa:kisak/kisak-mesa -y
|
||||
sudo apt-get update
|
||||
sudo apt install -y libegl1-mesa libgl1-mesa-dri libxcb-xfixes0-dev mesa-vulkan-drivers
|
||||
|
||||
- name: Run ThreadSanitizer
|
||||
env:
|
||||
RUSTFLAGS: -Zsanitizer=thread -Copt-level=3
|
||||
RUSTDOCFLAGS: -Zsanitizer=thread
|
||||
# Looking for data race among threads
|
||||
run: cargo test -Zbuild-std --target x86_64-unknown-linux-gnu -- --nocapture
|
Loading…
Reference in New Issue