Starlark Bazel

Open-source Starlark projects categorized as Bazel | Edit details

Top 22 Starlark Bazel Projects

  • distroless

    🥑 Language focused docker images, minus the operating system.

    Project mention: Distroless Alpine | dev.to | 2022-05-10

    In my day job, we've been using Google's Distroless images for some time. The benefits of this are well known: smaller image and attack surface. However, what we didn't expect is to still to have to deal with a significant amount of toil dealing with vulnerability triage (see Snyk output below for distroless/base). It could be argued our SDLC is a little, clunky and we're not quite ready for scratch (Graal, Golang, etc.,) images yet so what can we do in the interim? 🤔

  • rules_docker

    Rules for building and handling Docker images with Bazel

    Project mention: Does google use rules_docker internally? | reddit.com/r/bazel | 2022-03-21

    I've seen rules_docker is looking for maintainers here ; Does this mean it doesn't use it that much internally? If so, how do they go about using other services e.g docker-compose for running external services e.g database?

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • rules_nodejs

    JavaScript and NodeJS rules for Bazel

    Project mention: Turborepo 1.2: High-performance build system for monorepos | news.ycombinator.com | 2022-04-08

    > Is Bazel designed in a way that make it impossible to do JS monorepos well?

    Not impossible, but you really need to go all in with it and follow its conventions and practices. See this for the main docs: https://github.com/bazelbuild/rules_nodejs

    One thing in particular that doesn't work well in the bazel world is doing your own stuff outside its BUILD.bazel files. If you're used to just npm install and jam some code in your package.json scripts... that doesn't usually work in the bazel world. If you have a lot of logic or tools in your build you'll likely need to go all in and make bazel starlark rules or macros that recreate that logic. Nothing is impossible, but expect to spend time getting up to speed and getting things working the bazel way.

  • examples

    Examples for Bazel (by bazelbuild)

  • rules_foreign_cc

    Build rules for interfacing with "foreign" (non-Bazel) build systems (CMake, configure-make, GNU Make, boost, ninja)

  • rules_rust

    Rust rules for Bazel

    Project mention: Blog Post: Fast Rust Builds | reddit.com/r/rust | 2021-09-05

    Other than that, the performance of both for builds should be determined exactly by the organization of code into separate crates and the rustc invocations. Bazel generally encourages smaller crates, but that's very subtle. There is at least 1 case I can think of where rustc is overfit to cargo, in a way that is not easily replicable by bazel, which is the metadata/rlib pipelining https://github.com/bazelbuild/rules_rust/issues/228

  • bazel-compilation-database

    Tool to generate compile_commands.json from the Bazel build system

    Project mention: How to Use C++20 Modules with Bazel | reddit.com/r/cpp | 2022-02-14

    You might look at https://github.com/grailbio/bazel-compilation-database

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • rules_python

    Bazel Python Rules

    Project mention: Advantages of Monorepos | news.ycombinator.com | 2022-04-07

    I have personally run converted build systems to Bazel, and use it for personal projects as well.

    Bazel 1.0 was released in October 2019. If you were using it "a few years ago", I'm guessing you were using a pre-1.0 version. There's not some cutoff where Bazel magically got easy to use, and I still wouldn't describe it as "easy", but the problem it solves is hard to solve well, and the community support for Bazel has gotten a lot better over the past years.

    https://github.com/bazelbuild/rules_python

    The difficulty and complexity of using Bazel is highly variable. I've seen some projects where using Bazel is just super simple and easy, and some projects where using Bazel required a massive effort (custom toolchains and the like).

  • rules_scala

    Scala rules for Bazel

  • bazel-skylib

    Common useful functions and rules for Bazel

  • bazel-coverage-report-renderer

    Haskell rules for Bazel.

    Project mention: Updated version of Google's Haskell 101/102 training is now available on GitHub | reddit.com/r/haskell | 2021-12-21

    We use Tweag's rules_bazel. Perhaps you should be in touch with them instead of the original Bazel team (:

  • rules_jvm_external

    Bazel rules to resolve, fetch and export Maven artifacts

    Project mention: Lightweight build alternatives to Gradle / Maven | reddit.com/r/Kotlin | 2021-12-03
  • rules_swift

    Bazel rules to build Swift on Apple and Linux platforms

    Project mention: Reproducible Builds in January 2022 | news.ycombinator.com | 2022-02-06

    That seemed shocking, but it doesn’t appear to be true? https://github.com/bazelbuild/rules_swift/issues/536#issueco...

  • rules_nixpkgs

    Rules for importing Nixpkgs packages into Bazel.

    Project mention: nix-shell, but make it lovely | reddit.com/r/NixOS | 2022-04-25

    I'm a fan of Tweag's rules_nixpkgs for bazel: https://github.com/tweag/rules_nixpkgs

  • bazel-toolchain

    LLVM toolchain for bazel

  • rules_gitops

    This repository contains rules for continuous, GitOps driven Kubernetes deployments.

    Project mention: “You don't need this overengineered goo for your project.” | news.ycombinator.com | 2021-09-07

    > “You don't need this overengineered goo for your project.”

    k8s is probably a great excuse to think how to compose your infrastructure and software in a declarative way - I'm still fascinated by https://demo.kubevious.io/ - It just made "click" when playing with that demo - it's not goo it's a different operating system and a different mindset.

    You can do 80% with docker-compose / swarm for small projects but:

    If you read HN you are in a huge bubble - gruelsome patched tomcat7 apps on Java8 with 20 properties/ini/xml config files are still popular - hosting things in docker or doing ci/cd is still not mainstream. At least in Europe in the public sector stuff where I was involved.

    Sure you can mock it - but the declarative approach is powerful - if you can pull it off to have it across all your infrastructure and code with ci/cd and tests you are fast.

    This alone correctly implemented https://github.com/adobe/rules_gitops solves so many problems I can't count the useless meetings we had over any of these bullet points, bazel alone would have solved most major pain points in that project. Just by beeing explizit and declarative.

    Don't believe the hype but it's a powerful weapon.

  • bazel-linting-system

    🌿💚 Experimental system for registering, configuring, and invoking source-code linters in Bazel.

  • rules_scala

    Robust and featureful Bazel rules for Scala (by higherkindness)

  • bazel-embedded

    Tools for embedded/bare-metal development using bazel

    Project mention: What build tool do you use and why? | reddit.com/r/embedded | 2022-01-05

    Woah! I just stumbled onto this: https://github.com/bazelembedded/bazel-embedded.

  • rules_cc_module

    Rules for using C++20 modules with bazel

    Project mention: How to Use C++20 Modules with Bazel | reddit.com/r/cpp | 2022-02-14
  • rules_pyvenv

    Bazel rules for creating Python virtual envs.

    Project mention: Bazel 5.0 LTS with the new external dependency subsystem "Bzlmod" | reddit.com/r/programming | 2022-01-20

    Agree IDE support isn't great for Bazel + python. We've reached a happy (for us) median by using Bazel to build a virtualenv, and using that virtualenv to power normal python tools. All of the packages in the env are just symlinked bazep deps. See rules_pyvenv.

  • bazel_aws_credentials

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-05-10.

Starlark Bazel related posts

Index

What are some of the best open-source Bazel projects in Starlark? This list will help you:

Project Stars
1 distroless 12,750
2 rules_docker 893
3 rules_nodejs 626
4 examples 562
5 rules_foreign_cc 509
6 rules_rust 369
7 bazel-compilation-database 344
8 rules_python 340
9 rules_scala 309
10 bazel-skylib 232
11 bazel-coverage-report-renderer 227
12 rules_jvm_external 226
13 rules_swift 215
14 rules_nixpkgs 141
15 bazel-toolchain 138
16 rules_gitops 97
17 bazel-linting-system 91
18 rules_scala 62
19 bazel-embedded 58
20 rules_cc_module 26
21 rules_pyvenv 6
22 bazel_aws_credentials 0
Find remote jobs at our new job board 99remotejobs.com. There are 8 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com