Skip to content

Conversation

@kmannislands
Copy link

closes #2

This PR adds a migration document to circulate for users moving from earthly to the community earthbuild fork.

Most instructions here are speculative and outpace what we've actually developed so we'll need to check the accuracy of the doc after we've created our first release

@kmannislands kmannislands self-assigned this Jul 16, 2025
@kmannislands kmannislands added the documentation Improvements or additions to documentation label Jul 16, 2025
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @kmannislands, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a comprehensive migration guide for users transitioning from the earthly build tool to its community-forked counterpart, earthbuild. The document primarily addresses the significant change in the CLI binary name and the removal of all cloud-specific functionalities, providing clear instructions for updating existing configurations and workflows.

Highlights

  • New Migration Document: A new document, MIGRATION.md, has been added to guide users transitioning from the original earthly tool to the community-driven earthbuild fork. This document explains the context of the fork and what users can expect from the community project.
  • CLI Binary Name Change: The primary command-line tool has been renamed from earthly to earth. The migration guide details how to update scripts, CI configurations, and local aliases, noting a temporary alias in the GitHub Action to ease the transition before a future breaking change.
  • Removal of Cloud-Related Features: All commands and CLI options associated with Earthly's commercial cloud offering have been removed. This includes commands like account, org, project, satellite, cloud, secret, web, billing, gha, and prune-auto-skip, as well as options like --satellite and --auto-skip. EarthBuild focuses on being a self-hosted build tool.
  • GitHub Actions Integration Update: Instructions are provided to update GitHub Actions workflows, changing the action reference from earthly/actions-setup to earthbuild/actions-setup and updating command invocations from earthly to earth.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds a migration document from earthly to earthbuild. The document outlines key changes, removed features, and updates to CI configurations. Based on the provided diff and the critical constraint to only comment on changed lines (those starting with + or -), no issues requiring feedback at medium, high, or critical severity were identified within the modified lines.

The command-line tool has been renamed from `earthly` to `earth`. You will need to update your scripts, CI configurations, and any local aliases.

```diff
- earthly +all
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was potentially the most controversial topic: what to name the new binary by default?

Suggestions when we last reviewed were earth, earthbuild and build.

Acknowledge that most users will probably alias (e) so hopefully not a huge deal.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the name of CLI – earth. It emphasizes the project's ethical trait: commitment to sustainability.

@kmannislands kmannislands marked this pull request as ready for review July 22, 2025 18:33
@kmannislands
Copy link
Author

CI fix is in another PR: #1
This one passes lint-docs so I believe we can consider this PR successful for now.

@kmannislands
Copy link
Author

TODO: note switch to dind

We will publish a breaking change to these features in the first unique minor version for EarthBuild, `v0.9.x`.

These changes include renaming of configuration variables from `EARTHLY_*` to `EARTHBUILD_*`, removal of Earthfile syntax related to cloud
hosting like `PROJECT` and naming of built-in arguments like `ARG EARTHLY_GIT_PROJECT_NAME` to `ARG EARTHBUILD_GIT_PROJECT_NAME`.
Copy link
Collaborator

@janishorsts janishorsts Aug 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using the same naming in the environment variables keeps naming consistent.

Suggested change
hosting like `PROJECT` and naming of built-in arguments like `ARG EARTHLY_GIT_PROJECT_NAME` to `ARG EARTHBUILD_GIT_PROJECT_NAME`.
hosting like `PROJECT` and naming of built-in arguments like `ARG EARTHLY_GIT_PROJECT_NAME` to `ARG EARTH_GIT_PROJECT_NAME`.

+ earth +all
```

In the `earthlybuild/actions-setup` github action, we've aliased `earthly` to `earth`, logging the deprecated
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In an ideal scenario, we could add a migrate command to the earth CLI to assist users in migrating. Also, it would be helpful to migrate deprecated stuff in the future.

My concern is that we don't have enough contributors to help us.


#### Migration Strategy

**Immediate:** EarthBuild will continue to recognize `EARTHLY_*` environment variables in the current version but will log deprecation warnings encouraging migration to `EARTHBUILD_*` variables.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we aiming to warn in the first release of @EarthBuild?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore: Create a document outlining the migration from earthly -> earthbuild

5 participants