-
Notifications
You must be signed in to change notification settings - Fork 10
docs: Add a document on migration from earthly -> earthbuild #14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this 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 originalearthlytool to the community-drivenearthbuildfork. 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
earthlytoearth. 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, andprune-auto-skip, as well as options like--satelliteand--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-setuptoearthbuild/actions-setupand updating command invocations fromearthlytoearth.
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
-
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. ↩
There was a problem hiding this 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 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
|
CI fix is in another PR: #1 |
|
TODO: note switch to dind |
Co-authored-by: Mariappan Ramasamy <[email protected]>
Co-authored-by: Squirrel <[email protected]>
4f47d4b to
edc8215
Compare
| 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`. |
There was a problem hiding this comment.
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.
| 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 |
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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?
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