Commit Graph

21 Commits

Author SHA1 Message Date
Rin Kuryloski 662ad8edf4 amqp_client system_SUITE apparently needs the cli on the code path
I'm not actually sure why the changes to rabbitmqctl compilation
necessitated this change, but it seems to be the case
2024-06-18 14:50:35 +02:00
Rin Kuryloski 5debebfaf3 Use rules_elixir to build the cli without mix
Certain elixir-native deps are still build with mix, but this can be
corrected later
2024-06-18 14:50:34 +02:00
Rin Kuryloski eb94a58bc9 Add a workflow to compare the bazel/erlang.mk output
To catch any drift between the builds
2023-05-15 13:54:14 +02:00
Rin Kuryloski 8de8f59d47 Use gazelle generated bazel files
Bazel build files are now maintained primarily with `bazel run
gazelle`. This will analyze and merge changes into the build files as
necessitated by certain code changes (e.g. the introduction of new
modules).

In some cases there hints to gazelle in the build files, such as `#
gazelle:erlang...` or `# keep` comments. xref checks on plugins that
depend on the cli are a good example.
2023-04-17 18:13:18 +02:00
Rin Kuryloski 609171ec70 Rename the tanzu cli scope to vmware
And update other references to commercial editions
2023-02-16 13:49:54 +01:00
Rin Kuryloski 9e6d66ee5e Copy rather than symlink rabbitmqctl in bazel
when creating rabbitmq home folders
2022-12-08 13:03:17 +01:00
Rin Kuryloski 535ac31542 Rework package_generic_unix & source_archive bazel macros
So that they are usable in other bazel modules depending on
rabbitmq-server (such as plugins)
2022-10-27 13:13:25 +02:00
Rin Kuryloski 54f70ae3ab Also add rabbitmq-streams & rabbitmq-tanzu
to rabbitmq_home.bzl
2022-08-16 11:50:49 +02:00
Rin Kuryloski ebd5e9977a Add missing rabbitmq-upgrade to rabbitmq_home.bzl 2022-08-16 11:37:38 +02:00
Philip Kuryloski 327f075d57 Make rabbitmq-server work with rules_erlang 3
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
2022-06-08 14:04:53 +02:00
Philip Kuryloski efcd881658 Use rules_erlang v2
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
2022-01-18 13:43:46 +01:00
Michael Klishin f7d32d69f8 Introduce a new CLI tool (scope), rabbitmq-tanzu
For Tanzu (commercial) plugins to attach their commands to instead of
polluting rabbitmqctl.

Pair: @pjk25
(cherry picked from commit 6e0f2436fa)
2021-11-30 14:54:09 +00:00
Philip Kuryloski 11fd866247 Add the bazel target :package-generic-unix
Which can be used to build the artifact with bazel
2021-11-18 14:38:41 +01:00
Philip Kuryloski 1d4ddceb5d Fix handling of priv dirs for external deps
These were placed incorrectly for rabbitmq_home rules in bazel
2021-09-30 16:26:33 +02:00
Philip Kuryloski 8cc9806f07 Synchronize mixed versions approach with v3.8.x 2021-09-09 13:50:22 +02:00
Philip Kuryloski 2f69eaf7eb Use the correct "home" directory for rabbit in rabbitmq_home.bzl 2021-09-08 16:56:05 +02:00
Philip Kuryloski 3e2976384a Make it convenient to run the "secondary umbrella" under bazel
i.e. `bazel run @rabbitmq-server-generic-unix-3.8.18//:broker` or
`bazel run @rabbitmq-server-generic-unix-3.8.18//:rabbitmqctl`
2021-09-08 12:01:38 +02:00
Philip Kuryloski d6399bbb5b
Mixed version testing in bazel (#3200)
Unlike with gnu make, mixed version testing with bazel uses a package-generic-unix for the secondary umbrella rather than the source. This brings the benefit of being able to mixed version test releases built with older erlang versions (even though all nodes will run under the single version given to bazel)

This introduces new test labels, adding a `-mixed` suffix for every existing test. They can be skipped if necessary with `--test_tag_filters` (see the github actions workflow for an example)

As part of the change, it is now possible to run an old release of rabbit with rabbitmq_run rule, such as:

`bazel run @rabbitmq-server-generic-unix-3.8.17//:rabbitmq-run run-broker`
2021-07-19 14:33:25 +02:00
Philip Kuryloski ad8c6f8f64 Allow `bazel run rabbitmq-diagnostics` 2021-06-02 17:23:48 +02:00
Philip Kuryloski 078c897d2a Add rabbitmq_federation to bazel 2021-04-13 11:45:09 +02:00
Philip Kuryloski 388654c542
Add a partial Bazel build (#2938)
Adds WORKSPACE.bazel, BUILD.bazel & *.bzl files for partial build & test with Bazel. Introduces a build-time dependency on https://github.com/rabbitmq/bazel-erlang
2021-03-29 11:01:43 +02:00