Earthly ➤ https://earthly.dev
Welcome to another episode of Earthly Show and Tell. Today, Josh Gilman, the SRE lead at IOHK (Input Output), will take us on a deep dive into how his team has utilized Earthly to transform their CI process. In today's session, Josh will demonstrate how Earthly can simplify and streamline operations, even in a complex, monolithic repository like the one used to manage the Cardano blockchain.
Even if you're not currently using Earthly, this presentation will be beneficial to understand the potential of managing a large monorepo. Some key points we'll cover include:
The discovery mechanism that allows effortless onboarding of new projects without manual configuration.
A flexible yet opinionated target system with phases such as check, build, package, test, and release.
The use of the Earthly file as a primary interface for developers to interact with CI tools.
The challenges and solutions around caching in a large monorepo setup.
Josh brings a unique perspective on balancing developer productivity with operational concerns. This presentation promises to be a rich source of insights on handling large-scale development processes.
Timeline
00:00 - Introduction
00:23 - Overview of CI Implementation with Earthly
01:21 - CI Pipeline Explanation
03:04 - Flexibility and Opinions in CI Design
03:42 - Phases of CI: Check, Build, Package, Test, Release
05:48 - Release and Publishing Details
06:20 - Operation of Earthly in CI
07:02 - Automatic Discovery and Execution in CI
08:04 - Developer Experience with Earthly
09:10 - Detailed Example of GitHub Actions with Earthly
10:26 - Improvements and Future Plans
11:44 - Multiplexing and Performance Optimization
13:08 - Custom GitHub Actions with Earthly
15:03 - Post-Build Image Processing
16:17 - Additional CI Configurations and Documentation
17:34 - Configuring CI with Documentation Fields
19:52 - Closing Remarks and Request for Feedback