With this adjustment, more actions will use the sandbox, which may
help with an error relating to a missing `rabbit.hrl` that could occur
when building the cli or running its tests
Since this adjusts the user-template.bazelrc, everyone should likely
update their own user.bazelrc accordingly
So that we can be sure that the JIT is available for both amd64
and arm64 users, and we benefit from all the latest compiler and runtime
optimization work.
Also rework elixir dependency handling, so we no longer rely on mix to
fetch the rabbitmq_cli deps
Also:
- Specify ra version with a commit rather than a branch
- Fixup compilation options for erlang 23
- Add missing ra reference in MODULE.bazel
- Add missing flag in oci.yaml
- Reduce bazel rbe jobs to try to save memory
- Use bazel built erlang for erlang git master tests
- Use the same cache for all the workflows but windows
- Avoid using `mix local.hex --force` in elixir rules
- Fetching seems blocked in CI, and this should reduce hex api usage in
all builds, which is always nice
- Remove xref and dialyze tags since rules_erlang 3 includes them in
the defaults
bazel-erlang has been renamed rules_erlang. v2 is a substantial
refactor that brings Windows support. While this alone isn't enough to
run all rabbitmq-server suites on windows, one can at least now start
the broker (bazel run broker) and run the tests that do not start a
background broker process
Now a base .bazelrc is provided, which will import a user.bazelrc
file, allowing local additions and overrides (like credentials and/or
os specific config). user-template.bazelrc provides an example.