Commit Graph

125 Commits

Author SHA1 Message Date
Michael Klishin bbb98226e2
Merge pull request #8100 from rabbitmq/otp26-dialyzer 2023-05-04 19:05:23 +04:00
Michal Kuratczyk 48086bfec9
Bump credentials_obfuscation to 3.4.0 2023-05-04 15:31:01 +02:00
Rin Kuryloski facd663062 Regenerate BUILD.cowboy for cowboy 2.12.0
see e6e68fc
2023-05-02 17:07:34 +02:00
Michal Kuratczyk ad53bd9d5e
bazel run gazelle for emqtt
bazel run gazelle-update-repos -- -args --testonly github.com/rabbitmq/emqtt@otp-26-compatibility
2023-04-26 11:06:23 +02:00
Rin Kuryloski a7365d04ec
Adjust the platform definition for the erlang git master pipeline (#7964)
by using the more selective constraint value
2023-04-25 08:22:04 +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 2bb0b42c85 Add OTP 26.0-rc3 config to bazel 2023-04-14 18:23:33 +02:00
Rin Kuryloski 12dea642ef Properly escape certain shell variables in bazel
In places where such files recently changed
2023-04-13 09:45:28 +02:00
Rin Kuryloski 12153ed823 Fetch github.com/hexpm/hex via bzlmod
This fixes a visibility issue when a bazel module depends on
rabbitmq-server
2023-04-13 09:45:28 +02:00
Rin Kuryloski f09b31e8c5
Fetch all cli deps with bazel (#7875)
* Fetch all prod cli deps with bazel

This avoids issues with hex and OTP 26, and is needed for offline
bazel builds anyway

* Fetch test cli deps with bazel

* mix format
2023-04-12 16:27:32 +04:00
Michael Klishin b26b371f21
Merge pull request #7821 from rabbitmq/lh-update-ct-helper
Update ct_helper
2023-04-04 21:52:46 +04:00
Michael Klishin 9164104acd Regenerate BUILD.cowlib using 'bazel run gazelle-update-repos -- -args hex.pm/cowlib@2.12.1' 2023-04-04 20:26:13 +04:00
Michael Klishin 488f9bfe5c
Bazel build: Cowlib does not have a .app.src 2023-04-04 19:45:55 +04:00
Loïc Hoguin 53c6d19434
Update ct_helper
Since ct_helper removes erl_make_certs some tests needed
to be updated to use public_key:pkix_test_data/1 instead.
2023-04-04 13:01:33 +02:00
Rin Kuryloski 89d0b39ae8 Use 3.11.11 for mixed version testing 2023-03-21 10:24:13 +01:00
Rin Kuryloski eba1d531c9 Fetch cli prod deps via bazel or erlang.mk instead of mix
In preparation for offline bazel builds
2023-03-14 23:11:36 +01:00
Karl Nilsson d7ffeb1b9f bazel updates 2023-03-09 18:54:20 +00: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
Rin Kuryloski 778ee998a6 Further annotate test deps with new rules_erlang 3.9.9 features 2023-02-28 16:47:02 +01:00
Rin Kuryloski 36a4b5b24a Adjust bazel/BUILD.emqtt
until https://github.com/rabbitmq/rules_erlang/pull/147 is released
2023-02-16 19:15:03 +01:00
Rin Kuryloski e7cddb0698 Turn off +warnings_as_errors in redbug dep 2023-02-16 17:54:54 +01:00
Rin Kuryloski 5cb434ff17 Rebuild bazel/BUILD.* files with recent rules_erlang
rules_erlang 3.9.5+ generates "compact" rules when running
update-repos

this speeds up the cold build, since fewer erlc actions are run, and
since external deps typically don't change incrementally, the value of
having a bazel rule per file is miminal
2023-02-16 17:43:49 +01:00
Rin Kuryloski b6e145cbb8 Remove extra erlc_opts from BUILD.eetcd
Should be unnecessary once
https://github.com/rabbitmq/rules_erlang/pull/140 is available in a
release
2023-02-15 15:46:11 +01:00
Rin Kuryloski 2dc0236101 Regenerate bazel/BUILD.eetcd with the latest rules_erlang
`bazel run gazelle -- update-repos --verbose --build_files_dir=bazel
hex.pm/eetcd@0.3.6`

Related to #7196
2023-02-15 15:35:51 +01:00
Rin Kuryloski 2c7b37d7af
Use gazelle for external erlang deps (#6935)
* Add gazelle for use with update-repos command

* Use explicit BUILD.app_name files for erlang app deps

This allows us to remove the duplicate definitions in
workspace_helpers.bzl

These files are generated with gazelle. For instance:
BUILD.ra is generated with `bazel run gazelle -- update-repos
--verbose --build_files_dir=bazel hex.pm/ra@2.4.6`

Running gazelle this way will modify the WORKSPACE file, as gazelle
does not yet support MODULE.bazel files. Such changes to the WORKSPACE
can be dropped, and should not be committed. It may also update the
`moduleindex.yaml` file. Changes to `moduleindex.yaml` should be
committed.

However
* skip the explicit bazel/BUILD.osiris file, as osiris already contains the file in its repo
* skip the explict BUILD.inet_tcp_proxy_dist file, since the repo already contains a bazel BUILD.bazel file
  gazelle command: `bazel run gazelle -- update-repos --verbose --build_files_dir=bazel
inet_tcp_proxy_dist=github.com/rabbitmq/inet_tcp_proxy@master`
* jose is imported with `bazel run gazelle -- update-repos --verbose --build_files_dir=bazel
jose=github.com/michaelklishin/erlang-jose@d63c1c5c8f9c1a4f1438e234b886de8607a0034e`

* Move the bats dep directly to WORKSPACE, drop workspace_helpers.bzl

* Use bzlmod in windows tests
2023-01-25 09:41:56 +01:00
Alexey Lebedeff 48f648259d Use bash from any directory in dev helpers
So it'll work e.g. on NixOS
2023-01-24 17:30:48 +01:00
Michael Klishin 0bfaa280a1
Secondary umbrella: bump to 3.11.7 2023-01-21 20:52:42 -06:00
Rin Kuryloski b84e746ee9 Rework plt/dialyze for rabbitmqctl and plugins that depend on it
This allows us to stop ignorning undefined callback warnings

When mix compiles rabbitmqctl, it produces a 'consolidated' directory
alongside the 'ebin' dir. Some of the modules in consolidated are
intended to be used instead of those provided by elixir. We now handle
the conflicts properly in the bazel build.
2023-01-19 17:29:23 +01:00
Rin Kuryloski 2cd020a0da rules_erlang 3.9.0 compatibility
the elixir toolchain uses some private apis, and needed updating to
match internal changes in rules_erlang
2023-01-17 17:08:09 +01:00
Rin Kuryloski 3db02f7f9f Update `//:test-logs` and `//:test-node-data`
to handle the new ct_logdir flag
2022-12-19 13:49:07 +01:00
Michal Kuratczyk d78b8b3a2a
Adopt OTP 25.2 2022-12-15 11:08:21 +01:00
Rin Kuryloski 136d1cd7a3 Use 3.11.4 for mixed version testing 2022-12-09 12:33:51 +01:00
David Ansari 1f6ead8055 Make main branch use 3.11.2 as mixed version tests
The 3.11.2 artifact already got uploaded to AWS.
2022-10-19 10:56:22 +02:00
Rin Kuryloski 16300cc4ba Adopt rules_erlang 3.8.3
and apply corresponding changes to the elixir build
2022-10-18 15:57:51 +02:00
Rin Kuryloski 18bccf5873 Remove erlang 23 from bazel build 2022-10-10 09:30:29 +02:00
Rin Kuryloski c494c7f1ec Use Elixir 1.13.x with otp 24.x in bazel build 2022-10-04 11:42:29 +02:00
Rin Kuryloski 25c0eae13f Add erlang 25.1 to github actions 2022-09-30 09:21:56 +02:00
Rin Kuryloski a735672787 Enhance inference of ELIXIR_HOME from the path of iex/elixir 2022-09-29 12:28:30 +02:00
Rin Kuryloski ad043228f2 Fixup config drift causing the Windows Actions to fail 2022-09-29 11:54:06 +02:00
Rin Kuryloski 502730b32d Apply the @erlang_config pattern for elixir via the WORKSPACE
and use rules_erlang 3.7.0
2022-09-28 16:09:18 +02:00
Rin Kuryloski 6d35adc740 Fixup platform references for erlang git master nightly tests 2022-09-28 10:49:31 +02:00
Rin Kuryloski bf66d4f858
Filter out elixir compilation from local execution in bazel (#5869) 2022-09-24 20:22:39 +04:00
Rin Kuryloski eb99108c14 Add a few comments regarding the mixed version testing packages 2022-09-23 18:20:53 +02:00
Michael Klishin e30fc537a2 Use package-generic-unix-for-mixed-version-testing-v3.10.7, like in v3.11.x 2022-09-23 20:02:54 +04: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 9017f76809 Add elixir 1.14 to bazel 2022-09-19 09:41:18 +02:00
GitHub 8c7e891767 Adopt otp 24.3.4.5 2022-09-14 03:51:53 +00:00
GitHub f2f14938c3 Adopt otp 24.3.4.4 2022-08-27 03:46:56 +00:00
Michael Klishin 06927ab63b
Merge pull request #5565 from rabbitmq/bump-otp-25.0
Adopt otp 25.0.4
2022-08-19 09:08:12 +04:00
GitHub 0e11bc4873 Adopt otp 25.0.4 2022-08-19 03:39:43 +00:00
GitHub 093c4dba90 Adopt otp 24.3.4.3 2022-08-19 03:39:13 +00:00
Rin Kuryloski e6c002576f
Merge pull request #5351 from rabbitmq/bump-elixir-1.10
Adopt elixir 1.10.4
2022-07-28 13:58:35 +02:00
Rin Kuryloski 13714b4ca1
Merge pull request #5352 from rabbitmq/bump-elixir-1.12
Adopt elixir 1.12.3
2022-07-28 10:30:54 +02:00
GitHub dd661acc05 Adopt elixir 1.13.4 2022-07-28 08:00:29 +00:00
GitHub 346704d9ed Adopt elixir 1.12.3 2022-07-28 08:00:05 +00:00
GitHub 37806bb149 Adopt elixir 1.10.4 2022-07-28 07:59:37 +00:00
Rin Kuryloski 2115de8dd9 Remove the integrity hash on the secondary-umbrella archive
it's only a test dep, and the hash will change if the workflow that
produces the file is re-run
2022-07-27 11:00:48 +02:00
Rin Kuryloski 77d62de9bf Use a more dynamic method of patching secondary umbrellas
in the secondary-umbrella workflow
2022-07-27 09:47:27 +02:00
Rin Kuryloski f67eaaae68 Use code compiled with -DTEST in mixed version testing
Also introduces an actions workflow to provide the necessary archives
referenced in secondary_umbrella.bzl
2022-07-26 20:29:33 +02:00
Rin Kuryloski 947e4836d3 Use 3.10.6 for mixed version testing
since master is effectively the v3.11.x branch at this point in time
2022-07-22 16:25:50 +02:00
Rin Kuryloski 730787059b
Merge pull request #5289 from rabbitmq/bump-otp-23.3
Adopt otp 23.3.4.16
2022-07-21 09:44:03 +02:00
Rin Kuryloski 2234e1874c
Merge pull request #5290 from rabbitmq/bump-otp-24.3
Adopt otp 24.3.4.2
2022-07-21 09:43:12 +02:00
GitHub 3fdbee536f Adopt otp 25.0.3 2022-07-21 03:34:53 +00:00
GitHub e5ab6463d7 Adopt otp 24.3.4.2 2022-07-21 03:33:33 +00:00
GitHub 574ca8987d Adopt otp 23.3.4.16 2022-07-21 03:33:02 +00:00
Philip Kuryloski da714b80be Fetch the secondary umbrella via the module system
to avoid repo_mapping with a hard coded version of rules_erlang
2022-06-24 11:16:08 +02:00
Philip Kuryloski 7c76498dca Add minimal conflict resolution for the rbe module extension
This is a very simple strategy - multiple declarations of the same
repository for rbe are allowed, only if identical
2022-06-17 09:16:14 +00:00
Philip Kuryloski 4afd473af3 Additional fixes for use of rabbitmq-server as a bazel module
- add more missing deps
- add an extension that allows @rbe to be fetched via bzlmod
2022-06-17 09:16:14 +00:00
Philip Kuryloski 2fd155e55d Fixup the bazel build when used without bzlmod
As currently we do not use bzlmod when building on Windows
2022-06-15 11:18:41 +02:00
Philip Kuryloski f52efbb909 Fixup rabbitmqctl build for missing formatters & otp 25 2022-06-13 12:08:57 +02:00
Philip Kuryloski 105f017e85 Follow up to #4884 addressing some --config=local issues 2022-06-08 15:34:16 +02:00
Philip Kuryloski 0237fba515 Use rules_erlang 3.1.0
From github directly, until
https://github.com/bazelbuild/bazel-central-registry/pull/96 is merged
2022-06-08 14:12:21 +02:00
Philip Kuryloski 0b676e925f Again bump rules_erlang 2022-06-08 14:04:59 +02:00
Philip Kuryloski f1da8c0e85 Use Elixir 1.12 with Erlang 24 in CI 2022-06-08 14:04:59 +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