name: Setup QEMU librasan environment description: Sets up the QEMU librasan environment runs: using: composite steps: - name: Enable i386 shell: bash run: sudo dpkg --add-architecture i386 - name: Install QEMU deps shell: bash run: | sudo apt-get update && \ DEBIAN_FRONTEND=noninteractive \ sudo apt-get install -y \ build-essential \ clang-18 \ clang++-18 \ cmake \ curl \ g++-aarch64-linux-gnu \ g++-arm-linux-gnueabi \ g++-i686-linux-gnu \ g++-mipsel-linux-gnu \ g++-powerpc-linux-gnu \ gcc-aarch64-linux-gnu \ gcc-arm-linux-gnueabi \ gcc-i686-linux-gnu \ gcc-mipsel-linux-gnu \ gcc-powerpc-linux-gnu \ gdb \ gdb-multiarch \ git \ gnupg \ libc6-dev:i386 \ libclang-dev \ libgcc-13-dev:i386 \ libglib2.0-dev \ lsb-release \ ninja-build \ python3 \ python3-pip \ python3-venv \ qemu-user \ software-properties-common \ wget - uses: dtolnay/rust-toolchain@stable - name: install just uses: extractions/setup-just@v2 with: just-version: '1.40.0' - name: Install cargo-binstall shell: bash run: | curl -L --proto '=https' --tlsv1.2 -sSf \ https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | \ bash - name: Install nextest shell: bash run: | cargo binstall --no-confirm cargo-nextest - name: Install Rust Targets shell: bash run: | rustup target add armv7-unknown-linux-gnueabi && \ rustup target add aarch64-unknown-linux-gnu && \ rustup target add i686-unknown-linux-gnu && \ rustup target add powerpc-unknown-linux-gnu - uses: actions/checkout@v4 with: submodules: true fetch-depth: 0 - uses: Swatinem/rust-cache@v2 with: { shared-key: "${{ runner.os }}-shared-fuzzer-cache" }