Skip to content

Conversation

@kmannislands
Copy link

@kmannislands kmannislands commented Jun 18, 2025

Initial exploratory work to discover blockers for CI on main earthbuild (formerly earthly) repository.

This is ahead of updates to some of the dependency repositories:

This is a "stage 0" bootstrap where we'll still be using the existing "earthly" binaries to build "earthbuild" with the eventual goal of "stage 1," building earthbuild with earthbuild

Notes for follow up:

  • I've just removed the usage of a mirror for now to remove dependence on the private earthly org mirror that we do not have access to. This is likely a mistake and we should use a mirror like the public ecr or public google container registry (or both)
  • Lint docs fails CI with stuff like missing newline at the end of .md files but there was no pre-commit (at least as far as I noticed) to enforce this at commit time. This is slightly annoying and we should consider introducing a tool like pre-commit
  • The PROJECT syntax seemed to throw my LLM tool for a loop (it was hard to convince it this is not relevant to the org used by SAVE IMAGE). It raises the point that PROJECT doesn't make sense in a post-satellite world. We should consider deprecating this command in a VERSION 0.9 of the syntax (it should be ignored in the immediate fork)
  • The basic CI build depends on a docker container registry to push intermediary images built in CI to consume later in CI. For the sake of speed and simplicity, I've replaces earthly's dockerhub with github container registry for now. We should re-examine this decision later. Perhaps using GHCR for CI images and dockerhub for published images is acceptable long term.
  • It seems several different workflows perform identical steps to bootstrap the earthly binary for the PR in parallel which is inefficient and might cause issues if used with an immutable image registry.

@kmannislands kmannislands marked this pull request as draft June 18, 2025 21:28
@kmannislands kmannislands self-assigned this Jun 18, 2025
@janishorsts
Copy link
Collaborator

I was not aware that GCP has a public mirror of the Docker registry and is free for anonymous users. Using ECR public mirroring causes too much friction (requires renaming image names by prefixing with "docker/").

This is how I set up mirroring in my PR
https://github.com/EarthBuild/dind/pull/1/files#diff-b803fcb7f17ed9235f1e5cb1fcd2f5d3b2838429d4368ae4c57ce4436577f03fR24-R28

@kmannislands kmannislands force-pushed the get-ci-working branch 2 times, most recently from edf12f7 to 987e863 Compare July 1, 2025 19:49
…ns setup. TODO: switch to ECR public or google public mirror instead or just removing mirroring entirely?
…t-ci-working as the buildkitd image--unclear why. perhaps a sequencing logic issue where the CI builds attempt to use the previous binary and cannot handle a failure of the previous job? restore cache from to see if that is somehow related
@kmannislands
Copy link
Author

I've created tickets to follow up on the work here. This PR mainly fixes the earthly self-build so that the rest of the tests can run and can assess the status.

I suggest that we continue fixing CI with more focused PRs:
#16
#17
#18
#19
#20
#21

janishorsts and others added 11 commits July 23, 2025 09:57
* chore(earthbuild): fix +lint-all

* chore: run Podman CI Ubuntu on any pull_request

* remove unused verbose field

* undo Podman CI Ubuntu workflow changes
Currently, the race-test image for a CI build step is generated the step
before with the new EarthBuild name: ghcr.io/earthbuild/earthbuild:buildkitd-race-test.

The next step references the original Earthly name: earthly/buildkitd:race-test.

This causes a build failure. Update to the new name.

Co-authored-by: Squirrel <[email protected]>
* feat: don't login to docker if not using docker
* feat: don't login to docker if not using docker

* fix: examples1/grpc example
@kmannislands kmannislands marked this pull request as ready for review August 6, 2025 16:32
@kmannislands kmannislands merged commit d70bd9a into main Aug 6, 2025
75 of 95 checks passed
@kmannislands kmannislands deleted the get-ci-working branch August 6, 2025 16:33
danielschlegel added a commit that referenced this pull request Aug 13, 2025
This appears to be a **major rebranding effort** from "Earthly" to
"Earthbuild". Here are the key changes:

- All references to "earthly" have been systematically changed to
"earthbuild" - Binary name changed from `earthly` to `earthbuild` -
Repository references updated from `earthly/earthly` to
`earthbuild/earthbuild` - Organization references changed from
"earthly-technologies" to "earthbuild-technologies" - Domain references
changed from `earthly.dev` to `earthbuild.dev`

- Updated all BuildKite, CircleCI, and GitHub Actions configurations -
Changed environment variables from `EARTHLY_*` to `EARTHBUILD_*` -
Updated download URLs to point to new repository locations - Modified
Docker registry mirrors and authentication

- Extensive updates to README files across the project - Updated
installation instructions and examples - Changed documentation
references throughout - Updated changelog to reflect the rebranding

- Deleted various configuration files (like
`.earthly_version_flag_overrides`, `.earthlyignore`) - Removed
cloud-related documentation and features - Cleaned up various CI
configuration files

- **Latest commit (44d53a6)**: "docs: Summary of Changes Made" -
**Previous work included**: - Independent CI setup (#1) - Fork testing
for examples (#38) - Removal of satellite CI references (#24) - Complete
removal of Cloud features (earthly#4325) - README clarification about fork
status (#4)

- Updated container names from `earthly-*` to `earthbuild-*` - Changed
secret organization references - Updated example repository references -
Modified installation scripts and bootstrap processes

This represents a **complete fork and rebranding** of the Earthly
project to create "Earthbuild" as an independent project. The changes
are comprehensive, touching every aspect of the codebase from build
scripts to documentation to maintain consistency with the new brand
identity.
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.

5 participants