Dockerfile 1.1 KB

123456789101112131415161718192021222324
  1. # ClusterFuzzLite builder image (T4-3).
  2. #
  3. # Pinned to the Rust base builder. The base image bakes `RUSTUP_TOOLCHAIN`
  4. # as an environment variable, which overrides any `rust-toolchain.toml`,
  5. # so the nightly is selected here explicitly (it must match
  6. # `fuzz/rust-toolchain.toml`, which governs the CI and local fuzz legs).
  7. # The root stable pin is never violated. `cargo-fuzz` is installed here so
  8. # `build.sh` stays a plain build script.
  9. FROM gcr.io/oss-fuzz-base/base-builder-rust:v1
  10. # Must match `fuzz/rust-toolchain.toml`: dated, not floating, so a
  11. # dependency can never again outgrow a stale preinstalled nightly
  12. # (`sqlx 0.9` needs rustc >= 1.94; the base image ships 1.91).
  13. ENV RUSTUP_TOOLCHAIN=nightly-2026-10-01
  14. # The base image already ships cargo-fuzz and `cargo install` is a no-op when
  15. # it is present, so pin with --force: a cargo-fuzz that leaks the sanitizer
  16. # RUSTFLAGS into host proc-macros breaks the build.
  17. RUN rustup toolchain install nightly-2026-10-01 \
  18. && cargo install cargo-fuzz --locked --force --version 0.13.2
  19. COPY . "$SRC/d-oauth-server"
  20. WORKDIR "$SRC/d-oauth-server"
  21. COPY .clusterfuzzlite/build.sh "$SRC/build.sh"