Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ jobs:
- ubuntu-20.04
- ubuntu-23.04
- ubuntu-24.04
- ubuntu-26.04
runs-on: ubuntu-24.04
permissions:
contents: read
Expand Down
6 changes: 5 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,17 @@ dependencies that will trigger new versions of the dind images such as the docke
├── 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
├── alpine-3.22
│ └── Earthfile
├── alpine-3.23
│ └── Earthfile
├── ubuntu-20.04
│ └── Earthfile
├── ubuntu-23.04
│ └── Earthfile
└── ubuntu-24.04
│ └── Earthfile
└── ubuntu-26.04
└── Earthfile
```

Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@ This image supports the following Linux distributions:
* ubuntu:20.04
* ubuntu:23.04
* ubuntu:24.04
* ubuntu:26.04

For which the current latest tags (respectively) are:
* `alpine-3.22-docker-28.3.3-r2`
* `alpine-3.23-docker-29.1.2-r1`
* `ubuntu-20.04-docker-28.1.1-1`
* `ubuntu-23.04-docker-25.0.2-1`
* `ubuntu-24.04-docker-28.5.1-1`
* `ubuntu-26.04-docker-29.4.1-1`

For other available tags, please check out [ghcr.io/earthbuild/dind](https://github.com/earthbuild/dind/pkgs/container/dind/versions?filters%5Bversion_type%5D=tagged) or [earthbuild/dind](https://hub.docker.com/r/earthbuild/dind/tags).

4 changes: 2 additions & 2 deletions os/alpine-3.22/Earthfile
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ release:
test-build:
BUILD --pass-args common+build-and-test --IMAGE_NAME="dindtest"

# build builds an dind:alpine image
# build builds a dind image
build:
BUILD --pass-args --platform=linux/amd64 --platform=linux/arm64 common+build

# test runs test for a dind:alpine image
# test runs test for a dind image
# this is primarly used to run against a newly, temporariy image build by +test-build
test:
BUILD --pass-args common+alpine-kind-test
Comment thread
janishorsts marked this conversation as resolved.
Expand Down
4 changes: 2 additions & 2 deletions os/alpine-3.23/Earthfile
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ release:
test-build:
BUILD --pass-args common+build-and-test --IMAGE_NAME="dindtest"

# build builds an dind:alpine image
# build builds a dind image
build:
BUILD --pass-args --platform=linux/amd64 --platform=linux/arm64 common+build

# test runs test for a dind:alpine image
# test runs test for a dind image
# this is primarly used to run against a newly, temporariy image build by +test-build
test:
BUILD --pass-args common+alpine-kind-test
Comment thread
janishorsts marked this conversation as resolved.
Expand Down
4 changes: 2 additions & 2 deletions os/ubuntu-20.04/Earthfile
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ release:
test-build:
BUILD --pass-args common+build-and-test --IMAGE_NAME="dindtest"

# build builds an dind:alpine image
# build builds a dind image
build:
BUILD --pass-args --platform=linux/amd64 --platform=linux/arm64 common+build

# test runs test for a dind:alpine image
# test runs test for a dind image
# this is primarly used to run against a newly, temporariy image build by +test-build
test:
BUILD --pass-args common+ubuntu-kind-test
Comment thread
janishorsts marked this conversation as resolved.
Expand Down
4 changes: 2 additions & 2 deletions os/ubuntu-23.04/Earthfile
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ release:
test-build:
BUILD --pass-args common+build-and-test --IMAGE_NAME="dindtest"

# build builds an dind:alpine image
# build builds a dind image
build:
BUILD --pass-args --platform=linux/amd64 --platform=linux/arm64 common+build

# test runs test for a dind:alpine image
# test runs test for a dind image
# this is primarly used to run against a newly, temporariy image build by +test-build
test:
BUILD --pass-args common+ubuntu-kind-test
Comment thread
janishorsts marked this conversation as resolved.
Expand Down
4 changes: 2 additions & 2 deletions os/ubuntu-24.04/Earthfile
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ release:
test-build:
BUILD --pass-args common+build-and-test --IMAGE_NAME="dindtest"

# build builds an dind:alpine image
# build builds a dind image
build:
BUILD --pass-args --platform=linux/amd64 --platform=linux/arm64 common+build

# test runs test for a dind:alpine image
# test runs test for a dind image
# this is primarly used to run against a newly, temporariy image build by +test-build
test:
BUILD --pass-args common+ubuntu-kind-test
Comment thread
janishorsts marked this conversation as resolved.
Expand Down
40 changes: 40 additions & 0 deletions os/ubuntu-26.04/Earthfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
VERSION --build-auto-skip 0.8

FROM alpine:3.23.3@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659

IMPORT ../../common AS common

ARG --global OS_IMAGE=ubuntu

ARG --global OS_VERSION=26.04
# renovate: datasource=github-releases depName=docker/docker
LET docker_package_version=29.4.1
ARG --global DOCKER_VERSION=5:$docker_package_version-1~ubuntu.$OS_VERSION~resolute

# DIR_PATH is set to that common targets can call os specific targets. It should match the directory name this Earthfile is located in
ARG --global DIR_PATH=$OS_IMAGE-$OS_VERSION

# release builds the image using a new datetime as a suffix and run tests against the pushed image, then finally retag and push the image without the datetime suffix
release:
RUN --no-cache date --utc +%Y%m%d%H%M%S > datetime
LET datetime="$(cat datetime)"
WAIT
BUILD --pass-args common+build-and-test --SUFFIX=$datetime
END
COPY --dir --pass-args common+get-image-info/image-info .
LET image_tag="$(cat image-info/tag)-$datetime"
BUILD --pass-args common+push-new-tag-multi-platform --TAG_WITH_DATE=$image_tag

# test-build will build a test image that is pushed to a temporary registry and run tests against it
test-build:
BUILD --pass-args common+build-and-test --IMAGE_NAME="dindtest"

# build builds a dind image
build:
BUILD --pass-args --platform=linux/amd64 --platform=linux/arm64 common+build

# test runs test for a dind image
# this is primarly used to run against a newly, temporariy image build by +test-build
test:
BUILD --pass-args common+ubuntu-kind-test
BUILD --pass-args common+test
Loading