redbadger / monorepo-examples

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

monorepo-examples

We have chosen a few combinations of 4 tools to evaluate:

  1. Bazel
  2. Monobuild
  3. NX
  4. Turborepo

Examples

Examples have been created as separate branches in this repo. The intention is to let them stick around as long-lived branches for reference rather than to merge them.

Bazel

  • Bazel_Test: example of a monorepo built with Bazel

Monobuild

  • monobuild: example of a monorepo built with Monobuild
  • monobuild_effect: branch based on monobuild with a small change made in order to examine which tasks are executed in CI

Monobuild with Turborepo

  • turborepo-monobuild: example of a monorepo built with Monobuild primarily, using Turborepo under the hood for js code
  • turborepo-monobuild_effect: branch based on turborepo-monobuild with a small change made in order to examine which tasks are executed in CI

Nx

  • nx: example of a monorepo built with NX
  • nx_effect: branch based on nx with a small change made in order to examine which tasks are executed in CI

Turborepo

  • turborepo: example of a monorepo built with Turborepo

Turborepo with Rust

  • turborepo-rust: example of a monorepo built with Turborepo, including an example Rust lib

CI

The examples use GitHub Actions for CI; see Actions to examine the workflows triggered by the example branches.

Note: for the tools which work by building only affected changes as compared to a "main" branch, the most useful workflows to examine will be those suffixed with _effect.

About