Skip to content

Latest commit

 

History

History
 
 

examples

Earthly examples

This folder contains a series of examples to help you familiarize yourself with Earthly.

Examples from the Basics tutorial

If you are new to Earthly, you may find the Basics tutorial helpful.

Examples by language

Please note that these examples, although similar, are distinct from the ones used in the tutorial.

Examples by use-cases

  • integration-test - shows how WITH DOCKER and docker-compose can be used to start up services and then run an integration test suite.
  • monorepo - shows how multiple sub-projects can be co-located in a single repository and how the build can be fragmented across these.
  • multirepo - shows how artifacts from multiple repositories can be referenced in a single build. See also the grpc example for a more extensive use-case.

Examples by Earthly features

  • import - shows how to use the IMPORT command to alias project references.
  • cutoff-optimization - shows that if an intermediate artifact does not change, then the rest of the build will use the cache, even if the source has changed.
  • multiplatform - shows how Earthly can execute builds and create images for multiple platforms, using QEMU emulation.
  • multiplatform-cross-compile - shows has through the use of cross-compilation, you can create images for multiple platforms, without using QEMU emulation.

Examples by use of other technologies

  • grpc - shows how to use Earthly to compile a protobuf grpc definition into protobuf code for both a Go-based server, and a python-based client, in a multirepo setup.
  • terraform - shows how Terraform could be used from Earthly.

Other

  • readme - some sample code we used in our README.
  • tests - a suite of tests Earthly uses to ensure that its features are working correctly.