| commit | 328fae7631d82a514490e798bc3dbe3da3094fdc | [log] [tgz] |
|---|---|---|
| author | pigweed-roller <pigweed-roller@pigweed.infra.roller.pigweed-service-accounts.iam.gserviceaccount.com> | Sun May 25 07:23:10 2025 -0700 |
| committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Sun May 25 07:23:10 2025 -0700 |
| tree | 1b1a1e1ae20e56fe31b2bc6fa93fe90fb1a7b181 | |
| parent | 5a02cb6d329597b68a9fc83550b3c67c85ba8d0a [diff] |
roll: pigweed roll: luci bb From git_revision:0187f776e86b46692b599e71b15602cb7e2abde2 To git_revision:021720ebb04c4f86df8910e6273e53d840e5259e luci-auth From git_revision:0187f776e86b46692b599e71b15602cb7e2abde2 To git_revision:021720ebb04c4f86df8910e6273e53d840e5259e gerrit From git_revision:0187f776e86b46692b599e71b15602cb7e2abde2 To git_revision:021720ebb04c4f86df8910e6273e53d840e5259e gitiles From git_revision:0187f776e86b46692b599e71b15602cb7e2abde2 To git_revision:021720ebb04c4f86df8910e6273e53d840e5259e cas From git_revision:0187f776e86b46692b599e71b15602cb7e2abde2 To git_revision:021720ebb04c4f86df8910e6273e53d840e5259e led From git_revision:0187f776e86b46692b599e71b15602cb7e2abde2 To git_revision:021720ebb04c4f86df8910e6273e53d840e5259e swarming From git_revision:0187f776e86b46692b599e71b15602cb7e2abde2 To git_revision:c5d1f48d6baf50f56cb6c5381d861cecd195003f logdog From git_revision:0187f776e86b46692b599e71b15602cb7e2abde2 To git_revision:021720ebb04c4f86df8910e6273e53d840e5259e prpc From git_revision:0187f776e86b46692b599e71b15602cb7e2abde2 To git_revision:021720ebb04c4f86df8910e6273e53d840e5259e luci-cv From git_revision:0187f776e86b46692b599e71b15602cb7e2abde2 To git_revision:021720ebb04c4f86df8910e6273e53d840e5259e Roll-Count: 10 GitWatcher: ignore Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/294155 Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> Original-Revision: d34b1d1996f9058670d6bc8ead0c97d64880b3ac Rolled-Repo: https://pigweed.googlesource.com/pigweed/pigweed Rolled-Commits: bfdbef991e679d..d34b1d1996f905 Roll-Count: 1 Roller-URL: https://cr-buildbucket.appspot.com/build/8713891169025656065 GitWatcher: ignore CQ-Do-Not-Cancel-Tryjobs: true Change-Id: I843875cae33ce55dc797dbc4d7a3e186e3d53df4 Reviewed-on: https://pigweed-review.googlesource.com/c/zephyr/zephyr-bazel/+/294138 Commit-Queue: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com> Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com> Bot-Commit: Pigweed Roller <pigweed-roller@pigweed-service-accounts.iam.gserviceaccount.com>
The way this repository works is by overlaying itself on top of Zephyr. To get started, first make sure you have Bazel‘s skylib version 1.7.1 or greater. If you don’t have it, you can use:
http_archive(
name = "bazel_skylib",
sha256 = "bc283cdfcd526a52c3201279cda4bc298652efa898b10b4db0837dc51652756f",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz",
"https://github.com/bazelbuild/bazel-skylib/releases/download/1.7.1/bazel-skylib-1.7.1.tar.gz",
],
)
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
bazel_skylib_workspace()
To grab the zephyr-bazel repo, use a git_repository rule in your WORKSPACE, such as:
git_repository(
name = "zephyr-bazel",
remote = "https://pigweed.googlesource.com/zephyr/zephyr-bazel"
branch = "main",
)
Once you have @zephyr-bazel, we can load the patch rule to generate the Zephyr diff that will augment Zephyr to include the BUILD.zephyr rules.
load("@zephyr-bazel//:setup.bzl", "create_zephyr_patch_file")
create_zephyr_patch_file(
name = "zephyr-patch",
filename = "patch.diff",
# This is optional, use it to see what's going on under the hood
debug = True,
)
We now have a diff file at @zephyr-patch//:patch.diff. We're ready to load Zephyr.
git_repository(
name = "zephyr",
remote = "https://github.com/zephyrproject-rtos/zephyr.git",
branch = "main",
patches = [
"@zephyr-patch//:patch.diff",
],
)
The final step will be to load Zephyr's python dependencies:
load("@rules_python//python:pip.bzl", "pip_parse")
pip_parse(
name = "py_deps",
python_interpreter_target = interpreter,
requirements_lock = "@@zephyr//:scripts/requirements-base.txt",
)
load("@py_deps//:requirements.bzl", zephyr_install_deps = "install_deps")
zephyr_install_deps()
In your main application, you can now use the Zephyr utilities for building your app.
load("@zephyr//:defs.bzl", "dts_cc_library")
dts_cc_library(
name = "app_native_sim_dts",
dts_lib = "@zephyr//boards/native/native_sim:native_sim",
)
cc_binary(
...
deps = [
...
"@zephyr//:zephyr",
] + select({
"@platform//cpu:x86_64": [
":app_native_sim_dts",
"@zephyr//include:posix",
],
}),
copts = select({
"@platform//cpu:x86_64": [
"-DCONFIG_ARCH_POSIX=1",
],
}),
)
There is currently just 1 example, you can run it via:
$ cd examples/hello_dts $ bazel run :app
Or, you can run the tests via:
$ cd examples/hello_dts $ bazel test //...