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.
- 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.
- 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
VERSION 0.7FROM golang:1.13-alpine3.11RUN apk --update --no-cache add gitWORKDIR /go-exampleall:BUILD +buildBUILD +lintbuild:COPY main.go .RUN go build -o build/go-example main.goSAVE ARTIFACT build/go-example AS LOCAL build/go-examplelint:RUN go get golang.org/x/lint/golintCOPY 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
- 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
- Use Earthly as a wrapper around your existing builds and get Earthly’s consistency, parallelization, and caching.
- 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
- 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.
- 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
- 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