Skip to content

Latest commit

 

History

History
72 lines (48 loc) · 2.91 KB

File metadata and controls

72 lines (48 loc) · 2.91 KB

Contributing

Code of Conduct

Please refer to the CNCF Community Code of Conduct v1.0

How Images are Built

In this repository, we maintain the OS & Docker versions that warrants releasing a new version of the image. However, the installations of docker and other dependencies are done via an installation script that is currently maintained in earthbuild/earthbuild.

Dependencies

Dependencies are maintained by Renovate and will be merged automatically (provided required checks pass), primarily dependencies that will trigger new versions of the dind images such as the docker or the os (alpine) versions.

Repo structure

.
├── Earthfile // Targets that apply to all images (e.g. +test)
├── common
│   └── Earthfile // A library of common helper targets
└── os // Each directory contains an Earthfile with targets to maintain the specific os (e.g. +test, +build)
    ├── alpine
    │   └── Earthfile
    ├── ubuntu-20.04
    │   └── Earthfile
    ├── ubuntu-23.04
    │   └── Earthfile
    └── ubuntu-24.04
        └── Earthfile

Testing

Images are tested by running remote test targets that are maintained in earthbuild/earthbuild. This is because these tests also help test WITH DOCKER command in earth cli.

Temporary images are built, pushed, and pulled as part of the test cycle.

How to run tests

  • Test a specific image os:
earth --push -P ./os/<os>+test-build
  • Test all images:
earth --push -P +test

Community members

Community members do not have permissions to push a built image and run the tests against it. However, they can easily set a different container registry repository by changing the CR_HOST (default: ghcr.io) and CR_ORG ARG values in .arg to a private container registry repository or by passing the args in the earth command, e.g. earth --push -P +test --CR_HOST=<your-container-registry> --CR_ORG=<your-organization>.

Deployment

When the relevant dependencies are updated by Renovate, new images/tags will be pushed automatically to the container registries - ghcr.io/earthbuild/dind and earthbuild/dind.

Contributing

  • Please report bugs as GitHub issues.
  • Join us on Slack!
  • Questions via GitHub issues are welcome!
  • PRs welcome! But please give a heads-up in a GitHub issue before starting work. If there is no GitHub issue for what you want to do, please create one.

Licensing

Earthly is licensed under the Mozilla Public License Version 2.0. See LICENSE.