Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a partial Bazel build #2938

Merged
merged 221 commits into from
Mar 29, 2021
Merged

Add a partial Bazel build #2938

merged 221 commits into from
Mar 29, 2021

Conversation

HoloRin
Copy link
Contributor

@HoloRin HoloRin commented Mar 29, 2021

Proposed Changes

Add the necessary files needed to build and run most of the deps/rabbit suites with Bazel. The intention to bring all remaining suites online incrementally post merge, but at this point the feedback through the bazel build is believed to be superior to that of the current GitHub Actions workflows (mainly as a consequence of speed).

The updated GitHub Actions workflow is leveraging BuildBuddy for remote execution.

Care has been taken to maintain all of the existing gnu make based build. Any breakage from this merge is accidental.

Types of Changes

What types of changes does your code introduce to this project?
Put an x in the boxes that apply

  • Bug fix (non-breaking change which fixes issue #NNNN)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause an observable behavior change in existing systems)
  • Documentation improvements (corrections, new content, etc)
  • Cosmetic change (whitespace, formatting, etc)

Checklist

Put an x in the boxes that apply. You can also fill these out after creating
the PR. If you're unsure about any of them, don't hesitate to ask on the
mailing list. We're here to help! This is simply a reminder of what we are
going to look for before merging your code.

  • I have read the CONTRIBUTING.md document
  • I have signed the CA (see https://cla.pivotal.io/sign/rabbitmq)
  • All tests pass locally with my changes
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation (if appropriate)
  • Any dependent changes have been merged and published in related repositories

Further Comments

See BAZEL.md for further information about building this way.

Ideally we would build erlang with bazel itself, but since we change
our erlang version infrequently, this allows us to get started
It seems that the linux sandboxing for bazel is stronger
to work around a broken cache
So that we can share the cache accross versions
since BuildBuddy already covers this functionality
for 'bazel run :broker' and 'make run-broker'
the rabbitmq_sbin rule had little to no meaning on its own
to better respect the weaker sandbox strategies on macOS
it does not actually require the standard rabbitmq erlc opts
in a way that won't cause bazel cache collisions
@HoloRin HoloRin marked this pull request as ready for review March 29, 2021 08:59
@HoloRin HoloRin merged commit 388654c into master Mar 29, 2021
@HoloRin HoloRin deleted the bazel-rbe branch March 29, 2021 09:02
HoloRin added a commit to rabbitmq/rabbitmq-ct-helpers that referenced this pull request Mar 29, 2021
Add Bazel build files corresponding to rabbitmq/rabbitmq-server#2938

The gnu make build should remain unchanged by theses additions
HoloRin added a commit to rabbitmq/rabbitmq-ct-client-helpers that referenced this pull request Mar 29, 2021
Add Bazel build files corresponding to rabbitmq/rabbitmq-server#2938

The gnu make build should remain unchanged by theses additions
HoloRin added a commit that referenced this pull request Mar 29, 2021
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
HoloRin added a commit that referenced this pull request Apr 7, 2021
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
HoloRin added a commit that referenced this pull request Apr 7, 2021
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
HoloRin added a commit to rabbitmq/rabbitmq-ct-helpers that referenced this pull request Apr 7, 2021
Add Bazel build files corresponding to rabbitmq/rabbitmq-server#2938

The gnu make build should remain unchanged by theses additions
HoloRin added a commit to rabbitmq/rabbitmq-ct-client-helpers that referenced this pull request Apr 7, 2021
Add Bazel build files corresponding to rabbitmq/rabbitmq-server#2938

The gnu make build should remain unchanged by theses additions
HoloRin added a commit that referenced this pull request Apr 7, 2021
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
HoloRin added a commit that referenced this pull request Apr 7, 2021
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
michaelklishin pushed a commit that referenced this pull request Apr 8, 2021
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
binarin pushed a commit that referenced this pull request Sep 28, 2021
Add Bazel build files corresponding to #2938

The gnu make build should remain unchanged by theses additions
binarin pushed a commit that referenced this pull request Sep 28, 2021
Add Bazel build files corresponding to #2938

The gnu make build should remain unchanged by theses additions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant