Skip to main content

Bazel

Dependencies

Install dependencies
sudo apt install clang llvm lcov default-jdk zip
Install Bazelisk
sudo curl -L https://github.com/bazelbuild/bazelisk/releases/latest/download/bazelisk-linux-amd64 -o /usr/local/bin/bazel
sudo chmod +x /usr/local/bin/bazel

Version requirements

  • Bazel >= 5.3.2 on Linux
  • Java JDK >= 8 (1.8) is needed for Bazel's coverage feature
  • LLVM >= 12

Initialize a project

Initialize CI Fuzz in the root directory of your Bazel project with the following command:

cifuzz init

Copy the printed configuration into your WORKSPACE file.

WORKSPACE
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(
name = "rules_fuzzing",
sha256 = "ff52ef4845ab00e95d29c02a9e32e9eff4e0a4c9c8a6bcf8407a2f19eb3f9190",
strip_prefix = "rules_fuzzing-0.4.1",
urls = ["https://github.com/bazelbuild/rules_fuzzing/releases/download/v0.4.1/rules_fuzzing-0.4.1.zip"],
)

load("@rules_fuzzing//fuzzing:repositories.bzl", "rules_fuzzing_dependencies")

rules_fuzzing_dependencies()

load("@rules_fuzzing//fuzzing:init.bzl", "rules_fuzzing_init")

rules_fuzzing_init()

load("@fuzzing_py_deps//:requirements.bzl", "install_deps")

install_deps()

git_repository(
name = "cifuzz",
commit = "b013aa0f90fe8ac60adfc6d9640a9cfa451dda9e",
remote = "https://github.com/CodeIntelligenceTesting/cifuzz-bazel",
)

Example Projects