Skip to content

Add Bazelisk package to the AzureLinux 3.0 #12513

Open
@krinkinmu

Description

@krinkinmu

Is your feature request related to a problem? Please describe.

As part of onboarding and maintaining Envoy DALEC release pipelines, we need multiple different versions of Bazel. That's because, different versions of Envoy use different versions of Bazel to build. With Bazelisk available, it will find and will make available the right version of Bazel for our release pipelines, resolving the problem.

Currently AzureLinux 3.0 provides only a single version of Bazel (6.5.0) and that's not enough for us.

Also, Bazelisk is the recommended way of using Bazel (see https://bazel.build/install/bazelisk#installing_bazel) and multiple projects that use Bazel as their build system rely on Bazelisk, which limits the usefulness of the currently provided Bazel package when it comes to building open source projects internally in Microsoft using AzureLinux 3.0.

Describe the solution you'd like

Please provide Bazelisk package as part of the AzureLinux 3.0 set of available packages, so that we can install it with simple tdnf install bazelisk and let Bazelisk find, download and use the appropriate version of Bazel for the project.

Describe alternatives you've considered

The only alternative we have is to download Bazelisk (or the right version of Bazel) in our DALEC release pipeline. We can make it work, but it's not the preferred solution, compared to providing Bazelisk package in AzureLinux repositories, because:

  1. AzureLinux 3.0 already provides Bazel package, so I don't think that the need to have Bazel is in doubt
  2. Bazelisk is "the right way" to use Bazel, that aligns with the common workflows and development practices that projects that use Bazel rely on
  3. Plain single version Bazel package at the same time does not work for projects that use a different version of Bazel from the one provided in any of the supported release branches (i.e., Envoy would be one such example, Istio that depends on being able to build Envoy naturally will have the same problem, but in reality it applies or will apply to all more or less large project that use Bazel, because Bazel versions do change).

Additional context

I've sent an email a while back to the folks that worked on Bazel package in AzureLinux 3.0 about the issues with using plain Bazel, but didn't get a response.

+cc @keithmattix @grnmeira

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature-requestRequest for a feature or enhancement

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions