Examples
Examples of CI integration
Examples of integrating Earthly into various CI systems can be found on the following pages:
For more general information on CI systems not listed above, see the CI integration guide.
Examples by dev environments
Examples of how Earthly can be integrated into different dev environments
GitHub Codespaces - shows how Earthly can be used in GitHub Codespaces and Devcontainers
Example Earthfiles
In this section, you will find some examples of Earthfiles to familiarize yourself with Earthly.
The code for all the examples is available in the examples GitHub directory.
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
anddocker-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 Earthfile 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.
Larger Examples And Community Examples
Earthly's own build
As a distinct example of a complete build, you can take a look at Earthly's own build. Earthly builds itself, and the build files are available on GitHub:
Earthfile - the root build file
buildkitd/Earthfile - the build of the BuildKit daemon
AST/parser/Earthfile - the build of the parser, which generates .go files
tests/Earthfile - system and smoke tests
earthfile-grammar/Earthfile - the build of the VS Code extension
To invoke Earthly's build, check out the code and then run the following in the root of the repository
Last updated