Bazel Roadmap

Scope: AGW can be developed and released using Bazel only instead of make

done - possible optimizations can be added after a switch-over

in progress

not yet started

will not be used with bazel

worked on in the last/current iteration

AGW Switch Over

  • We are starting the switch over! Make builds will be replaced step by step with Bazel builds.

    • Single parts will be announced in Slack.

    • This is tested extensively - but we expect needed improvements.

  • Please let us know about any issue you encounter → Slack: #bazel or #dev

Status

Building

Services

Debian Build fixing smaller issues with debian artefact

Docker Build PoC ongoing - improve developer experience of Docker builds. Not in scope of switch over.

Building in OAI CI

Testing & CI/CD

Unit Tests

Integration Tests (+ "sudo Tests")

  • workflow runs in CI on bazelified artifacts

  • tests are executed with bazel build with bazel, but execute directly with pytest in progress

  • tests run vs a .deb based environment

  • tests run vs a docker based environment - only needed if docker artifacts are build with bazel

Load Tests 

Coverage

OAI Jenkins

mitigating using bazel without remote caches using pre build containers, first steps already on master

Developer Experience

Developer Documentation step by step switch in progress

prepare IDEs for code navigation with bazel

detail improvements many are in progress

Linter and Formatter with Bazel - Analysis: this is not feasible - will be kept as direct calls to current tooling (can also be kept in Makefiles for convenience)

Remote Caches