Earthly + GitHub Actions

GitHub Actions are better with Earthly. Get faster build speeds, improved consistency, and local testing along with an easy-to-use syntax – no YAML – and better monorepo support.

Consistent, Faster GitHub Actions
Get Started Free
Why Earthly?
With Earthly, all builds are self-contained, consistent, portable, and language agnostic.
Before:
Before
False checked
Bash and YAML spaghetti
False checked
Clunky and Brittle
False checked
Build guru required
With Earthly Satellites:
With Earthly
Checked bullet
Consistent
Checked bullet
2-20x Faster
Checked bullet
Easy to Understand
GitHub Actions are Better with Earthly
Earthly makes GitHub Actions consistent and faster
Earthly Improves GitHub Actions
Earthly Improves GitHub Actions
  • Earthly’s consistent builds make writing, testing, and debugging easy. You can run your builds locally before committing.
  • Builds are easy to write and understand. Syntax is like Dockerfile and Makefile had a baby. No YAML.
  • Using Earthly Satellites with GitHub Actions makes builds 2-20x faster.
  • Automatic build caching and parallel execution make builds highly efficient with little-to-no effort.
  • Earthly was built with monorepos in mind, making them easier to support than with GitHub Actions alone.
Write once, run anywhere
  • Execute CI pipelines on your laptop, remotely, or in any CI
  • Easily reproduce CI failures locally
  • Containers make builds self-contained, isolated, consistent, and portable
  • Correct execution, regardless of the environment
  • New colleagues get started fast: no special configuration necessary
Super simple, not just for the build guru
Earthfile
VERSION 0.7
FROM golang:1.13-alpine3.11
RUN apk --update --no-cache add git
WORKDIR /go-example
all:
BUILD +build
BUILD +lint
build:
COPY main.go .
RUN go build -o build/go-example main.go
SAVE ARTIFACT build/go-example AS LOCAL build/go-example
lint:
RUN go get golang.org/x/lint/golint
COPY main.go .
RUN golint -set_exit_status ./...
  • Quickly grasp Earthfiles without prior knowledge
  • Syntax that is easy to write and understand by all engineers
  • It's like Dockerfile and Makefile had a baby
Compatible with every language, framework, and build tool
  • Works with the compilers and build tools you use.
  • If it runs on Linux, it runs on Earthly.
  • You don’t have to rewrite your existing builds or replace your package.json, go.mod, or build.gradle files.
  • Use Earthly as a wrapper around your existing builds and get Earthly’s consistency, parallelization, and caching.
Compatible with every language, framework, and build tool
Ridiculously Fast Builds!
CI w/o Satellites vs CI w/ Satellites
CI w/ Satellites - Up To
20x
CI w/ Satellites - Minimum
2x
CI w/o Satellites
1x
Lines represent build time in seconds.
Based on build speeds reported by our users
  • 2-20x faster builds in CI
  • Rebuild only what has changed
  • Automatic parallel execution
  • Automatic caching with no configuration required
  • Like layer caching, but for the entire pipeline, not just for images
  • No upload/download of cache – instantly available
Automatic caching and parallel execution
  • Automatically caches build results at each step of the build. Repeated steps are skipped each build.
  • Automatically executes build targets in parallel whenever possible.

If your build has multiple steps, Earthly:

  • Builds a directed acyclic graph (DAG).
  • Isolates execution of each step.
  • Runs independent steps in parallel.
  • Caches results for future use.
Automatic caching and parallel execution
Great for monorepos and polyrepos
  • Works with both monorepos and polyrepos
  • Builds can be split across multiple subdirectories or even repositories
  • Reuse, don't repeat: reference builds, recipes, artifacts, and images from other locations
Adopt incrementally
  • Reuse, don't replace
  • Most projects are up and running in less than one hour
  • Earthly Satellites – our hosted remote build runners – allow you to get most of the benefits on top of your CI/CD platform of choice
  • Adopt Earthly while waiting for your existing slow builds to finish

Get Started with Earthly now!

Simple, Fast, Consistent Builds

Get Started Free