Commit Graph

24 Commits

Author SHA1 Message Date
Loïc Hoguin c5d150a7ef
Use Erlang.mk's native Elixir support for CLI
This avoids using Mix while compiling which simplifies
a number of things and let us do further build improvements
later on.

Elixir is only enabled from within rabbitmq_cli currently.

Eunit is disabled since there are only Elixir tests.

Dialyzer will force-enable Elixir in order to process
Elixir-compiled beam files.

This commit also includes a few changes that are
related:

 * The Erlang distribution will now be started for parallel-ct

 * Many unnecessary PROJECT_MOD lines have been removed

 * `eunit_formatters` has been removed, it provides little value

 * The new `maybe_flock` Erlang.mk function is used where possible

 * Build test deps when testing rabbitmq_cli (Mix won't do it anymore)

 * rabbitmq_ct_helpers now use the early plugins to have Dialyzer
   properly set up
2025-03-18 10:02:49 +01:00
Aitor Perez 07adc3e571
Remove Bazel files 2025-03-13 13:42:34 +00:00
Loïc Hoguin 54a0ac8e2b
make: Remove mk/topic-branches.mk
This appears to be unused and was properly only necessary
in the early days of the monorepo.
2024-07-01 14:01:54 +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
Alexey Lebedeff 87532c4af4 Make test/development related makefile vars lazy
They were trying to run `hostname` and `which`, which produced a bunch
of error messages in a hermetic build environment.

And performance of those `shell` calls is not very important, as they
are caled just a few times during script runtime anyway (there is a
hack to make these lazy, but evaluating only once - but it's hardly
worth it).
2021-08-06 17:32:04 +02:00
Gerhard Lazu db35a3409b
Add bazel-test make target so that we can run tests in bazel quickly (#3138)
* Add bazel-test make target so that we can run tests in bazel quickly

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>

Co-authored-by: Philip Kuryloski <kuryloskip@vmware.com>
2021-07-20 11:53:39 +02:00
Gerhard Lazu c8c055e158
Delete stats make target
None was using it, and I haven't used it in many months

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-06-23 17:07:57 +01:00
Jean-Sébastien Pédron 6b337b49c7 Use {MIX,HEX}_HOME variables to prepare offline cache
We used to use $HOME for both tools, but they now support dedicated
variables. As an added bonus, this makes the recipe work on Microsoft
Windows.
2021-04-13 14:43:32 +02:00
Philip Kuryloski ea54e2e330 Remove unused GitHub Actions workflow files 2021-03-29 14:18:17 +02:00
Philip Kuryloski cd2b9577e2 Remove Erlang 22 from GitHub Actions 2021-03-03 13:53:36 +01:00
Philip Kuryloski 1a92fe578f Add `make monorepo-distclean` [ci skip]
This goal will distclean each vendored dep
2020-11-24 12:14:55 +01:00
Philip Kuryloski 84212482d7 Add additional testing dependencies to the temporary docker images
these images are used by the github actions workflows, and though
while not sensitive, are not intended to be published
2020-11-23 22:36:32 +01:00
Philip Kuryloski 7142ba94c8 Add a workflow for testing with erlang/otp master
This workflow will run on a schedule rather than on every push
2020-11-23 11:32:03 +01:00
Philip Kuryloski 2cfbaa6675 Fix generation of workflow_sources/deps.yml on darwin [ci skip]
Also drop the suite timing information we no longer use, and sort
alphabetically to minimize future diffs
2020-11-19 14:10:09 +01:00
Philip Kuryloski 1005eef2ff Add rabbitmq_stream to the github-actions releated make goals 2020-11-17 15:05:25 +01:00
Philip Kuryloski 899e3e83d9 Add mixed version testing for the deps/rabbit suites
Mix clusters with v3.7 and v3.8, currently on both erlang versions. As
this also increases the actions duration rabbit ct-* suites have been
de-grouped such that multiple ct suites are no longer run as part of a
GitHub Actions job.
2020-11-16 10:34:20 +01:00
Philip Kuryloski 9fabae11a5 Correct use of dialyze in GitHub Actions
Dialyze now runs independently for each component on the uncompiled sources
to maximize the amount of issues detectable
2020-11-13 14:41:22 +01:00
Philip Kuryloski 316b27d65a Adjustments for rabbitmq-cli tests
- Provide RABBITMQ_VERSION so that plugin version compatibility checks work
  correctly
- Run tests generally as an unpriveleged user in docker, like we do in concourse
- Set USER in the env for erlang-cookie-sources tests
2020-11-13 14:41:22 +01:00
Philip Kuryloski e32b93b3e6 Add support for bringing topic branches into the monorepo
Once the monorepo is built, from within it one can run `make
fetch-topic-branch-${TOPIC_BRANCH}` then `make
topic-branch-${TOPIC_BRANCH}` to rebase the commits from all the
sources back onto the monorepo
2020-11-13 14:41:22 +01:00
Philip Kuryloski f0bdbc393d Add a manually triggered workflow for builing base ci docker images
The testing workflows rely on the presence of these base images, but
they should change infrequently enough to justify manual triggering
2020-11-13 14:41:22 +01:00
Philip Kuryloski 44b77e8b1e Monorepo GitHub Actions
Add GitHub Actions workflows for Erlang/OTP 22.3 & 23.0.

The workflows run tests for each component that is now part of this
repo, with test suite parallelization specifically for the rabbit
erlang application.
2020-11-13 14:41:22 +01:00
Jean-Sébastien Pédron 6252d33317
rabbitmq-mix.mk: Still set `$HOME` in addition to `$MIX_HOME`
`$MIX_HOME` is used by mix(1) (for `~/.mix` equivalent). But the Hex
plugin does not use this variable to store `~/.hex`. Instead, it
apparently still relies on `$HOME` only.

So set and export both variables.
2019-06-27 15:33:50 +02:00
Jean-Sébastien Pédron c45cd8fd74
rabbitmq-mix.mk: Set `$MIX_HOME` instead of `$HOME`
If I understand the code correctly, it should be enough to point mix(1)
to the packages we add to the source archive for offline build.

There should be no need to mess with `$HOME` or `$XDG_*_HOME`.
2019-06-27 15:02:20 +02:00
Jean-Sébastien Pédron 68213819aa
rabbitmq-mix.mk: Ensure `$HOME` does not come from the command line
... by using the `override` directive to enforce our internal value.
As a reminder, this a hack to convince mix(1) to work offline and use a
copy of the Hex.pm cache provided in the source archive.

Note that this file was moved from rabbitmq-common. It has no use there
and it avoids the need to go through the entire CI pipeline if we want
to change this file.

The `stats.mk` file was also moved to the new `mk` subdirectory to avoid
file pollution at the root of this project.
2019-06-26 18:34:20 +02:00