diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 74a090f0848..4b14083f6f7 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -166,6 +166,16 @@ jobs: with: { shared-key: "ubuntu" } # ---- build and feature check ---- # cargo-hack's --feature-powerset would be nice here but libafl has a too many knobs + + # Tracking: https://github.com/CensoredUsername/dynasm-rs/issues/114 + # One dep of libafl_frida fails on `DOCS_RS` for stable toolchain. Therefore, we _only_ run nightly for that. + # For the rest of other crates, we still use stable toolchain. + - name: "Setup nightly" + uses: dtolnay/rust-toolchain@nightly + with: + components: clippy, rustfmt + - name: "But default to stable" + run: rustup default stable - name: Check each feature # Skipping `python` as it has to be built with the `maturin` tool # `sancov_pcguard_edges` is tested seperatelyc diff --git a/Dockerfile b/Dockerfile index 51b46efbd53..54b388e7196 100644 --- a/Dockerfile +++ b/Dockerfile @@ -64,6 +64,7 @@ RUN apt-get update && \ python3-pip \ python3-venv \ software-properties-common \ + ca-certificates \ wget RUN set -ex &&\ wget https://apt.llvm.org/llvm.sh &&\ diff --git a/utils/ci_splitter/src/main.rs b/utils/ci_splitter/src/main.rs index 17e6728e21a..064e84a5da5 100644 --- a/utils/ci_splitter/src/main.rs +++ b/utils/ci_splitter/src/main.rs @@ -67,9 +67,13 @@ fn main() -> Result<(), Box> { // run each task, with DOCS_RS override for libafl_frida let mut cmd = Command::new("bash"); - cmd.arg("-c").arg(task); + cmd.arg("-c"); if task.contains("libafl_frida") { cmd.env("DOCS_RS", "1"); + let task = task.replace("cargo ", "cargo +nightly "); + cmd.arg(task); + } else { + cmd.arg(task); } let status = cmd.status()?; if !status.success() {