Commit Graph

323 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
Michal Kuratczyk e796b61f49
Simplified OCI builds
* use the official erlang image as the base
  (no more openssl and erlang recompilation)
* by default, build with OTP27 for x86 only but make it
  easy to request any other OTP version and an ARM64 image
* better docker layer caching
* simplify the workflow and the Dockerfile
2025-01-27 13:54:49 +01:00
Michael Klishin 968eefa1bb
Bump (c) line year
There are no functional changes to this massive diff.
2025-01-01 17:54:10 -05:00
Michal Kuratczyk 9b828c08b7
Remove HiPE 2024-08-28 09:18:28 +02:00
Michael Klishin 40903581ef Bump version to 4.0 in a few places 2024-07-19 01:21:30 -04:00
Michal Kuratczyk 71dc1f123f
OCI: openssl 3.1.5 -> 3.3.1 (#11626) 2024-07-05 14:11:33 +02:00
Rin Kuryloski 6c97eaef61 Use the latest OTP in the dev OCIs 2024-05-16 20:17:35 +02:00
Rin Kuryloski 4e720d7fe1
Use make for OCI workflow (#11042)
* Use make instead of bazel for the OCI workflow
2024-04-19 20:05:24 +02:00
Rin Kuryloski 09f2190606 Always use GHCR when building the docker image
when splitting the image, depending on the platform, docker buildx
cannot always see the imported image. So, we'll just push to GHCR
always. Members of the rabbitmq github org can log into GHCR, and be
able to perform local builds of the image
2024-04-08 18:12:00 +02:00
Rin Kuryloski 9b4486ac0f
Split the docker image to improve caching (#10924)
* Split the docker image to improve caching
2024-04-08 16:01:28 +02:00
Rin Kuryloski c9ab302e79
Remove rules_docker in favor of rules_oci (#10869)
Local builds of images are extremely slow, but buildbuddy runners
don't have the emulator available
2024-04-02 19:04:38 +02:00
Michal Kuratczyk 8d2657ef2f Adopt OTP 26.2.1 2024-01-09 10:14:08 +01:00
Michal Kuratczyk cb3db5d93e
Restore a deleted file. Seems to be used by other workflows 2023-12-01 14:36:15 +01:00
Michael Klishin 3fe8dec150
Two more (c) update spots 2023-11-21 23:32:51 -05:00
Michal Kuratczyk 4a4285a25e
OCI updates: bump OpenSSL, remove outdated/unused Dockerfile (#9898)
* Remove unused and outdated Dockerfile

check BUILD.bazel for how the image is built

* Update OpenSSL from 3.1.1 to 3.1.4
2023-11-08 12:56:29 +01:00
Rin Kuryloski 75eb0621fc Use OTP 26.1 as OTP 26 in CI 2023-09-20 15:33:34 +02:00
Rin Kuryloski d58e430da0 Request more disk space for docker image jobs on RBE 2023-09-13 14:23:16 +02:00
Michael Klishin 55442aa914 Replace @rabbitmq.com addresses with rabbitmq-core@groups.vmware.com
Don't ask why we have to do it. Because reasons!
2023-06-20 15:40:13 +04:00
Rin Kuryloski 98706f7384 Update container test to match OpenSSL version 2023-06-14 12:43:48 +02:00
Rin Kuryloski ad2f85bb75 Align OCI build with the OSS docker-library repo 2023-06-14 12:36:39 +02:00
Rin Kuryloski d4ea19e9b2 Use OpenSSL 3.1.1 for //packaging/docker-image:rabbitmq 2023-06-14 12:14:09 +02:00
Rin Kuryloski c0889df3c5 Use RBE for the OCI workflow
This avoids the need for erlang on the github actions worker

Uses a buildbuddy option for firecracker VMs instead of containers,
where docker can be made available to actions
2023-06-13 09:31:45 +02:00
Rin Kuryloski 32cae35953 Fixup docker image build for otp 26 2023-05-31 10:22:32 +02:00
Michal Kuratczyk 319242d40f
ca-certificates are needed for k8s peer plugin (#8396) 2023-05-29 12:30:29 +02:00
Rin Kuryloski 2bb0b42c85 Add OTP 26.0-rc3 config to bazel 2023-04-14 18:23:33 +02:00
Rin Kuryloski 3ebfa257e2 Add OTP 25.3 to the build and CI matrix as otp-max 2023-03-08 15:21:27 +01:00
Arnaud Cogoluègnes 99fcc61624
Do not enable all plugins in dev Docker image 2023-03-08 14:14:35 +01:00
Michal Kuratczyk d78b8b3a2a
Adopt OTP 25.2 2022-12-15 11:08:21 +01:00
Rin Kuryloski 18bccf5873 Remove erlang 23 from bazel build 2022-10-10 09:30:29 +02:00
Rin Kuryloski dcd34c4752 Simplify otp src selects in //packaging/docker-image:otp_source 2022-10-03 10:47:59 +02:00
Rin Kuryloski 71fd6a9978 Add otp 25.1 to //packaging/docker-image:rabbitmq 2022-10-03 10:37:52 +02:00
Rin Kuryloski 8537d0428b Use rules_erlang 3.6.3
Use the new @erlang_config repo from rules_erlang 3.6+ for simplified
config and the elimiation of the need for --config=local
2022-09-19 16:43:10 +02:00
Rin Kuryloski bc869593d9 Further slim down OCI Base Image installed packages 2022-09-18 14:33:41 +02:00
Rin Kuryloski 47500ae45d Again update dev OCI image base image packages
```
E: Couldn't find any package by regex 'libstdc++6-dbgsym'
```
2022-09-18 14:28:57 +02:00
Rin Kuryloski 68fd82f42c Remove zlib1g-dbgsym from OCI Base Image
Due to image build error:

```
The following information may help to resolve the situation:
The following packages have unmet dependencies:
 zlib1g-dbgsym : Depends: zlib1g (= 1:1.2.11.dfsg-2ubuntu1.4) but 1:1.2.11.dfsg-2ubuntu1.3 is to be installed
E: Unable to correct problems, you have held broken packages.
```
2022-09-18 14:08:06 +02:00
Marcial Rosales 2d00d453d2 Use OTP 25.0.4 to build RabbitMq docker image
using makefile
2022-08-31 11:04:53 +01:00
Marcial Rosales d2a47e847e Use otp 24.3.4.4 2022-08-30 13:21:04 +01:00
Rin Kuryloski 7b64074f24 Exclude OCI targets from wildcards like `bazel test //... ...` 2022-08-23 15:37:12 +02:00
Rin Kuryloski 0a084ddb87 Exclude docker image tests from the normal test workflows 2022-08-22 09:36:37 +02:00
Rin Kuryloski f8e141db63 Add a bazel based OCI image build to the oci.yaml workflow 2022-08-22 09:36:37 +02:00
Rin Kuryloski a5b9c7431f Split the OCI image build into two phases
So that flakiness of debug symbol installation do not block it
2022-07-20 15:53:41 +02:00
Rin Kuryloski 997a2c5655 Remove debug symbol installation from oci workflow
As they seem to be extremely flaky. They may be restored via alternate
approach.
2022-07-20 15:53:41 +02:00
Rin Kuryloski ffb8cae08a Use single = instead of == with `test` in Dockerfile 2022-07-20 15:53:41 +02:00
Rin Kuryloski 7ab77f8a23 Fold erlang version declarations for tests and OCI images into one
Also automatically open PRs for adopting new OTP patch versions
2022-07-20 10:40:20 +02:00
Philip Kuryloski 178a7fa539 Again try to make Dockerfile more cacheable 2022-06-17 10:58:43 +02:00
Philip Kuryloski 0dcf896677 Attempt to improve the cache hit rate for the oci.yaml workflow 2022-06-14 15:30:55 +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 f0b0a4f908 Add extra info for oci actions workflow
in preparation for #4884
2022-06-08 13:42:35 +02:00
Michael Klishin 09f125bed3
Bump Elixir versions used by Actions workflows 2022-06-05 16:06:27 +04:00