Skip to content

Conversation

@kmannislands
Copy link

Closes #199

This PR implements the install page and a basic landing page to be improved on more down the road.

@kmannislands kmannislands self-assigned this Jan 28, 2026
@github-actions
Copy link

github-actions bot commented Jan 28, 2026

🎉 Are we earthbuild yet?

Great progress! You've reduced "earthly" occurrences by 1 (0.02%)

📈 Overall Progress

Branch Total Count
main 5704
This PR 5703
Difference -1 (0.02%)

📁 Changes by file type:

File Type Change
Go files (.go) ➖ No change
Documentation (.md) ✅ -3
Earthfiles ➖ No change

Keep up the great work migrating from Earthly to Earthbuild! 🚀

💡 Tips for finding more occurrences

Run locally to see detailed breakdown:

./.github/scripts/count-earthly.sh

Note that the goal is not to reach 0.
There is anticipated to be at least some occurences of earthly in the source code due to backwards compatibility with config files and language constructs.

@gemini-code-assist
Copy link

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 lays the groundwork for EarthBuild's public-facing presence by implementing a basic landing page and a comprehensive installation guide. It provides essential information about the project, its features, and clear steps for users to get started, while also setting up the necessary infrastructure for web deployment and automated installation.

Highlights

  • Landing Page Creation: A new index.html file has been added, serving as the primary landing page for EarthBuild, introducing its purpose and features.
  • Installation Guide: A dedicated install.html page is introduced, providing detailed, platform-specific instructions for installing EarthBuild.
  • Automated Install Script: A install.sh script is included to automate the EarthBuild installation process, handling OS/architecture detection and binary download.
  • Domain Configuration: The CNAME file is added to specify www.earthbuild.dev as the canonical domain for the website.
  • WebFetch Permission: The .claude/settings.local.json file is updated to allow web fetches from earthly.dev, likely for content or information related to the project's origin.
Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/deploy-site.yml
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 by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

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 pull request 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 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. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

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 sets up a basic landing page and installation instructions for EarthBuild. The changes include new HTML pages for the landing page and installation guide, a CNAME file for the custom domain, and a new install.sh script. The overall structure is good. I've found a bug in the installer script for users who have wget but not curl, and I've also suggested an improvement to the manual installation instructions on the website to make them more generic for different CPU architectures. The rest of the changes look good.

if command -v curl >/dev/null 2>&1; then
VERSION=$(curl -fsSI -o /dev/null -w '%{url_effective}' "$LATEST_URL" | sed 's|.*/||')
elif command -v wget >/dev/null 2>&1; then
VERSION=$(wget --spider --max-redirect=0 "$LATEST_URL" 2>&1 | grep -o 'releases/tag/[^"]*' | head -1 | sed 's|releases/tag/||')

Choose a reason for hiding this comment

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

high

The grep pattern to extract the version tag for wget users is incorrect. It uses [^"*], which can cause it to match more than just the version tag (e.g., v0.8.5 [following]). This results in an invalid version string. Using [^ ]* instead will correctly stop matching at the first space, ensuring only the tag is captured.

Suggested change
VERSION=$(wget --spider --max-redirect=0 "$LATEST_URL" 2>&1 | grep -o 'releases/tag/[^"]*' | head -1 | sed 's|releases/tag/||')
VERSION=$(wget --spider --max-redirect=0 "$LATEST_URL" 2>&1 | grep -o 'releases/tag/[^ ]*' | head -1 | sed 's|releases/tag/||')

Comment on lines +44 to +51
<pre><code># Download the latest release
curl -LO https://github.com/EarthBuild/earthbuild/releases/latest/download/earth-linux-amd64

# Make it executable
chmod +x earth-linux-amd64

# Move to your PATH
sudo mv earth-linux-amd64 /usr/local/bin/earth</code></pre>

Choose a reason for hiding this comment

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

medium

The manual installation instructions for Linux are hardcoded for the amd64 architecture. This can be confusing for users on other architectures like arm64, which the installer script supports. The commands can be improved by using a variable for the architecture, making it easier for users to adapt for their system. For example:

# Set your architecture (e.g., amd64, arm64)
ARCH=amd64

# Download the latest release for your architecture
curl -LO "https://github.com/EarthBuild/earthbuild/releases/latest/download/earth-linux-${ARCH}"

# Make it executable
chmod +x "earth-linux-${ARCH}"

# Move to your PATH
sudo mv "earth-linux-${ARCH}" /usr/local/bin/earth

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Installation instructions have DNS failure

2 participants