Commit Graph

121 Commits

Author SHA1 Message Date
Michael Klishin 238b7298fa
Merge pull request #13471 from kartg/source-bundle-make-target
(Updated) Adding a "source-bundle" target to the Makefile

(cherry picked from commit 916b0327af)

Conflicts:
	Makefile
2025-03-08 15:36:41 -05:00
Michael Klishin 5ff1c95190
Revert "Merge pull request #13385 from kartg/build-dist-make-target"
This reverts commit c1485af2c0.
2025-02-21 20:48:32 -05:00
Michael Klishin c1485af2c0
Merge pull request #13385 from kartg/build-dist-make-target
Adding a "source-bundle" target to the Makefile

(cherry picked from commit ea4bdac94c)

Conflicts:
	Makefile
2025-02-21 20:31:35 -05:00
Michael Klishin 5388e7ea10
Disable rabbitmq_auth_backend_ldap suites
slapd(8) currently segfaults on Actions no
matter what OS or OpenLDAP version we try.

We would be better off with a green build and
a functioning v4.0.x pipeline than the status quo.

Running slapd(8) in a container might help.
This is something to investigate.

(cherry picked from commit 1e76a74587)
2024-10-29 11:30:41 -04:00
Rin Kuryloski 28ee2ddee6 remove rabbitmq_amqp_client tests from this branch
as the plugin does not exist here
2024-06-06 19:40:57 +02:00
Rin Kuryloski 2c62185317 Turn off BuildBuddy integration (#11343)
Builds now execute on the github actions workers, using Google Cloud Storage (GCS) as a cache

(cherry picked from commit a6874e39cc)

# Conflicts:
#	.github/workflows/update-elixir-patches.yaml
#	.github/workflows/update-otp-patches.yaml
#	MODULE.bazel
#	WORKSPACE
#	deps/rabbitmq_peer_discovery_consul/test/system_SUITE_data/consul.hcl
2024-06-06 09:38:03 +00:00
mergify[bot] afe06a933e
Fix some dialyzer build system errors in make (backport #11014) (#11015)
* Fix some dialyzer build system errors in make (#11014)

* make amqp10_common dialyze green in make

* make rabbitmq_ct_client_helpers dialyze green with make

* fixup rabbitmq_prelaunch path ref

* Cleanup unused dep_* vars

* Fixup xref for rabbitmq_ct_helpers

I could not figure out how to make xref aware of the cli code without
also checking the cli code as well, and reporting additional errors

* remove unused file

* fix make diaylze for rabbitmq_stream_common

* update deps/oauth2_client/Makefile to match Bazel

(cherry picked from commit 4ec33c8678)

# Conflicts:
#	deps/amqp10_common/test/serial_number_SUITE.erl

* fixup backport

---------

Co-authored-by: Rin Kuryloski <rin.kuryloski@broadcom.com>
2024-04-16 14:26:38 +02:00
Michal Kuratczyk 9373661a33
Revert "Remove Elixir json dep in a few more places #9926"
This reverts commit 50e1fed344.
2023-11-17 13:08:26 +01:00
Michael Klishin 50e1fed344
Remove Elixir json dep in a few more places #9926
(cherry picked from commit d419b0a431)
2023-11-16 10:59:42 -05:00
Rin Kuryloski 6209180f80 Use pkg_files rules to avoid extra tars
in package-generic-unix and source_archive macros
2023-03-14 23:18:00 +01:00
Rin Kuryloski 019766f34f Exclude bazel related files from `make source-dist` 2023-02-24 12:55:03 +01: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
Loïc Hoguin fa6b9f0767
Ignore the Elixir protocol related warnings 2022-05-31 14:19:54 +02:00
Loïc Hoguin dc70cbf281
Update Erlang.mk and switch to new xref code 2022-05-31 13:51:12 +02: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
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
Gerhard Lazu 0cbef999cc
Add make target for cleaning deps of deps, like ra, osiris, etc.
This is helpful when we want to ensure a clean slate, which is what
happens when deps of deps go out of sync, and builds / tests start
failing for unexpected reasons.

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2021-06-22 11:26:46 +01:00
Jean-Sébastien Pédron 63689dd658 Makefile: Don't copy `rabbit/ebin` when running "make install" on Windows
`rabbit` is now packaged as any plugins and `rabbit_common`. There is no
need for a second copy of its beam files.

At the same time, we stop copying the `priv` directory and headers for
the same reason.
2021-04-13 14:43:32 +02:00
Jean-Sébastien Pédron cc433b72cb Makefile: Use `core_native_path` on filenames passed to Erlang
... in the source dist recipe.

This is required when running the recipe in MSYS2 because Erlang runs
with regular Windows paths, not the MSYS2 namespace.
2021-04-13 14:43:32 +02: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
Gabriele Santomaggio ba8fd1c125 Add the rabbitmq-streams command 2021-03-22 14:18:08 +01:00
Loïc Hoguin d5e3bdd623
Add ADDITIONAL_PLUGINS variable
This allows including additional applications or third party
plugins when creating a release, running the broker locally,
or just building from the top-level Makefile.

To include Looking Glass in a release, for example:

$ make package-generic-unix ADDITIONAL_PLUGINS="looking_glass"

A Docker image can then be built using this release and will
contain Looking Glass:

$ make docker-image

Beware macOS users! Applications such as Looking Glass include
NIFs. NIFs must be compiled in the right environment. If you
are building a Docker image then make sure to build the NIF
on Linux! In the two steps above, this corresponds to Step 1.

To run the broker with Looking Glass available:

$ make run-broker ADDITIONAL_PLUGINS="looking_glass"

This commit also moves Looking Glass dependency information
into rabbitmq-components.mk so it is available at all times.
2021-03-12 12:29:28 +01:00
Philip Kuryloski a3cfac3232 Move most packaging goal implementations to rabbitmq-packaging 2021-02-26 11:39:01 +01:00
Jean-Sébastien Pédron ed112773e3
Makefile: Exclude more things from the source archive
In particular, the temporary `licensing` directory was never cleaned up.
2020-11-16 12:56:53 +01:00
Jean-Sébastien Pédron 4568ab0fb9
packaging/docker-image: Move Docker files to their own directory
Like other packaging files, they should not be part of RabbitMQ itself.
One day, they will probably be moved to a dedicated repository, like
other packaging files.
2020-11-16 12:18:39 +01:00
Philip Kuryloski 2259039b17 Ensure that `make distclean` does not remove vendored deps
More precisely, it will leave the deps dir intact
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 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
Gerhard Lazu d4f20ff1d2
Bump OTP to 22.3 for Docker image
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2020-03-17 11:55:05 +00:00
Philip Kuryloski 5be133f49e
Use `J` tar flag for extracting `.tar.xz`
When making `docker-image`

Ubuntu 18 fails to build the image unless tar is invoked with the capital J
2020-03-16 11:50:04 +01:00
Gerhard Lazu 28f00e066d
Speed-up Docker image builds by re-using generic-unix package archive
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2020-03-12 12:09:05 +00:00
Gerhard Lazu 26d8101202
Bump OTP to 22.2.8 for Docker image
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2020-03-12 11:47:38 +00:00
Gerhard Lazu bc4059be59
Use PROJECT_VERSION in Docker image build
Because we set the PROJECT_VERSION when we build the Docker image, this
change saves us having to search for the RABBITMQ_VERSION to
PROJECT_VERSION mapping that happens at the top of the Makefile in order
to understand how this ends up in the final Docker image.

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2020-02-20 18:03:54 +00:00
Gerhard Lazu 6612884764
Package generic-unix before building Docker image
Otherwise this target will fail. It's worth making this target slower
but always working rather than fast but it may not work if the dependent
generic-unix version wasn't built before.

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2020-02-20 18:00:43 +00:00
Gerhard Lazu 427a20fd6f
Bump OTP to 22.2.7 when building Docker image
Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2020-02-20 18:00:25 +00:00
Jean-Sébastien Pédron 2d9fd9e581
Makefile: Ignore `docker` subdirectory when creating source archive
rabbitmq-prometheus has such a directory. In this case, it is quite
large and does not contain files used at build time.
2020-02-17 15:02:54 +01:00
Gerhard Lazu f96937f34d
Fix make target for building Docker image using local RabbitMQ dev
make package-generic-unix PROJECT_VERSION=3.9.0-20200207
    make docker-image PROJECT_VERSION=3.9.0-20200207
    docker run -it --rm pivotalrabbitmq/rabbitmq:3.9.0-20200207

Re 53a34fc368

cc @dcorbacho

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2020-02-07 19:24:40 +00:00
Gerhard Lazu 53a34fc368
Add make target to build docker image using the local RabbitMQ dev
make package-generic-unix NO_CLEAN=true PROJECT_VERSION=3.9.0-20200207
   make docker-image PROJECT_VERSION=3.9.0-20200207
   docker run -it --rm rabbitmq:3.9.0-20200207

Based on
7734a5a34f/Dockerfile
which in turn is based on https://github.com/docker-library/rabbitmq/blob/master/Dockerfile-ubuntu.template

cc @dcorbacho

[finishes #171153463]

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2020-02-07 19:16:04 +00:00
Gerhard Lazu 7f9c45ac00
Do not use tar flags for reproducible builds on macOS
Some of the flags that we currently use are not recognised, so rather
than adding a third set of flags, let's just ignore everything for now
and circle back to this when it becomes an issue.

Signed-off-by: Gerhard Lazu <gerhard@lazu.co.uk>
2020-02-07 19:16:04 +00:00
Jean-Sébastien Pédron 52e6c65e00
Makefile: Improve Hex cache export
We hit the case where the exported Hex cache could not be read again
using `file:consult/2` when we try to restore the ETS table. The problem
was some string generated with `io_lib:format("~p")` which had invalid
Unicode characters according to `file:consult/1`.

The error returned by `file:consult/1` was:

    {51,file_io_server,invalid_unicode}

We are now using `~w` instead of `~p` so string detection is skipped by
io_lib. The result is readable by `file:consult/1`, though the text file
is barely readable by a human now.
2020-02-07 19:30:59 +01:00
Jean-Sébastien Pédron 6a610a594c
Makefile: Don't copy rabbit's `ebin` and `priv` dirs to install dir
They are unused now, since rabbit is provided as an .ez archive.

While here, don't copy include files as well: they are not enough to
build a RabbitMQ plugin anyway.
2019-12-05 15:53:42 +01:00
Jean-Sébastien Pédron ba938ae16b
Makefile: cuttlefish(1) is gone
We can do because Cuttlefish is now used as a library and configuration
is managed at runtime by the RabbitMQ node, not by a preliminary
execution of cuttlefish(1).
2019-12-05 15:52:19 +01:00
Jean-Sébastien Pédron 038e8701b8
packaging: Remove standalone package 2019-12-05 15:44:24 +01:00
Jean-Sébastien Pédron 9148053c80
RPM: New targets to build RHEL8 packages
[#169092428]
2019-10-22 16:50:27 +02:00
Jean-Sébastien Pédron 49f7ea60c7
Remove rabbitmq.config.example from packages
It was removed from rabbitmq-server already.
2019-09-24 10:06:25 +02:00
Jean-Sébastien Pédron 292d8836a9
Install a new CLI, `rabbitmq-upgrade`
References rabbitmq/rabbitmq-cli#375.
2019-09-23 15:39:34 +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
Jean-Sébastien Pédron 3a366d9b09
Add rabbitmq-queues(8) to the list of scripts to install 2019-02-26 11:46:52 +01:00
Gerhard Lazu f2dc1e94a0
Add make target for displaying GitHub release stats
E.g.:

    ●  Release v3.7.10 [Latest]
         Assets: 36
         Downloads: 47.67k
         Date: 1/7/2019
         Author: @pivotal-rabbitmq-ci

There is an interactive variant, in case one wants to try out different flags.

Both targets depend on Docker, so that the host on which they run does
not get polluted with node.js & friends. All containers use a volume for
the node_modules so that subsequent runs are faster.

Those that run *BSD or Linux might want to adapt this for their
platform. This feels good enough as a first spike, which is yet to
survive the meticulous @dumbbell or the veteran @michaelklishin
2019-01-28 09:31:46 +00:00