bazel 理论上是否允许 bazel 构建规则内的 http 请求?

Does bazel theoretically allow http requests inside bazel build rules?

是否有可能在 starlark build 规则中或通过 ctx.actions.run 调用的某些可执行文件编写 http 请求?

我知道可以用 bazel test(内部测试运行器)完成,但是可以在构建阶段完成吗?我知道这不利于网络沙盒(但假设我们将其关闭)

可以设置execution_requirements to include requires-network.

一些注意事项:

  • 网络请求仅在操作内,不能运行来自 Starlark 本身
  • 如果远程信息发生变化,Bazel 将无法重新运行 依赖于网络请求的操作。需要有一种方法可以始终 运行 执行操作,但尚未确定:https://github.com/bazelbuild/bazel/issues/3041