From f0430113da305fe4df122fed4b28293c483b1c2b Mon Sep 17 00:00:00 2001 From: Ido David Date: Thu, 2 May 2024 22:07:26 -0400 Subject: [PATCH 1/5] add ubuntu 24.04 --- .github/renovate.json5 | 8 ++++++++ README.md | 3 +++ docs/dockerhub.md | 2 ++ os/ubuntu-24.04/Earthfile | 42 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 55 insertions(+) create mode 100644 os/ubuntu-24.04/Earthfile diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 2ba3b24..0311dc6 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -133,6 +133,14 @@ allowedVersions: "/^ubuntu-23\\.04-.*/", versioning: "regex:^(?.*)-(?\\d+\\.\\d+)-docker-(?\\d+)\\.(?\\d+)\\.(?\\d+)-(?\\d+)$", }, + { + // rule to update earthly/dind:ubuntu:23.04-* images + groupName: 'docs-dind-images', + matchPackageNames: ['earthly/dind'], + matchCurrentVersion: "/^ubuntu-24\\.04-.*/", + allowedVersions: "/^ubuntu-24\\.04-.*/", + versioning: "regex:^(?.*)-(?\\d+\\.\\d+)-docker-(?\\d+)\\.(?\\d+)\\.(?\\d+)-(?\\d+)$", + }, { // create PRs for multiple docker versions in case we're more than one major version behind matchPackageNames: [ diff --git a/README.md b/README.md index 91b0995..11c67ab 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ There are currently 3 supported dind distributions available: - `alpine` - `ubuntu:20.04` - `ubuntu:23.04` +- `ubuntu:24.04` Other distributions and/or base images can be used with our [dind+INSTALL](https://docs.earthly.dev/docs/guides/docker-in-earthly#performance) [FUNCTION](https://docs.earthly.dev/docs/guides/functions). @@ -39,6 +40,8 @@ dependencies that will trigger new versions of the dind images such as the docke │ └── Earthfile └── ubuntu-23.04 └── Earthfile + └── ubuntu-24.04 + └── Earthfile ``` ## Testing diff --git a/docs/dockerhub.md b/docs/dockerhub.md index 5731810..2461196 100644 --- a/docs/dockerhub.md +++ b/docs/dockerhub.md @@ -8,11 +8,13 @@ This image supports 3 Linux distributions: * alpine * ubuntu:20.04 * ubuntu:23.04 +* ubuntu:24.04 For which the current latest tags (respectively) are: * `alpine-3.19-docker-25.0.5-r0` * `ubuntu-20.04-docker-26.1.0-1` * `ubuntu-23.04-docker-25.0.2-1` +* `ubuntu-20.04-docker-26.1.1-1` For other available tags, please check out https://hub.docker.com/r/earthly/dind/tags diff --git a/os/ubuntu-24.04/Earthfile b/os/ubuntu-24.04/Earthfile new file mode 100644 index 0000000..fdb075d --- /dev/null +++ b/os/ubuntu-24.04/Earthfile @@ -0,0 +1,42 @@ +VERSION --build-auto-skip 0.8 + +PROJECT earthly-technologies/core + +FROM alpine + +IMPORT ../../common AS common + +ARG --global OS_IMAGE=ubuntu + +ARG --global OS_VERSION=24.04 +# renovate: datasource=github-releases depName=docker/docker +LET docker_package_version=26.1.1 +ARG --global DOCKER_VERSION=5:$docker_package_version-1~ubuntu.$OS_VERSION~lunar + +# 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 an dind:alpine image +build: + BUILD --pass-args --platform=linux/amd64 --platform=linux/arm64 common+build + +# test runs test for a dind:alpine 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 From 62a8126df4e1dc7a68db9531345cbd6c7e1bfe77 Mon Sep 17 00:00:00 2001 From: Ido David Date: Thu, 2 May 2024 22:08:21 -0400 Subject: [PATCH 2/5] fix comment --- .github/renovate.json5 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 0311dc6..a10c498 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -134,7 +134,7 @@ versioning: "regex:^(?.*)-(?\\d+\\.\\d+)-docker-(?\\d+)\\.(?\\d+)\\.(?\\d+)-(?\\d+)$", }, { - // rule to update earthly/dind:ubuntu:23.04-* images + // rule to update earthly/dind:ubuntu:24.04-* images groupName: 'docs-dind-images', matchPackageNames: ['earthly/dind'], matchCurrentVersion: "/^ubuntu-24\\.04-.*/", From 7d1d94e1ca35c324393eee17b387a9f80a6bc2c9 Mon Sep 17 00:00:00 2001 From: Ido David Date: Thu, 2 May 2024 22:09:11 -0400 Subject: [PATCH 3/5] fix readme --- docs/dockerhub.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dockerhub.md b/docs/dockerhub.md index 2461196..5cf9168 100644 --- a/docs/dockerhub.md +++ b/docs/dockerhub.md @@ -14,7 +14,7 @@ For which the current latest tags (respectively) are: * `alpine-3.19-docker-25.0.5-r0` * `ubuntu-20.04-docker-26.1.0-1` * `ubuntu-23.04-docker-25.0.2-1` -* `ubuntu-20.04-docker-26.1.1-1` +* `ubuntu-24.04-docker-26.1.1-1` For other available tags, please check out https://hub.docker.com/r/earthly/dind/tags From b7108e464a43859df29ccd275f8717e839860ecc Mon Sep 17 00:00:00 2001 From: Ido David Date: Thu, 2 May 2024 22:13:46 -0400 Subject: [PATCH 4/5] fix codename --- os/ubuntu-24.04/Earthfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/os/ubuntu-24.04/Earthfile b/os/ubuntu-24.04/Earthfile index fdb075d..804c279 100644 --- a/os/ubuntu-24.04/Earthfile +++ b/os/ubuntu-24.04/Earthfile @@ -11,7 +11,7 @@ ARG --global OS_IMAGE=ubuntu ARG --global OS_VERSION=24.04 # renovate: datasource=github-releases depName=docker/docker LET docker_package_version=26.1.1 -ARG --global DOCKER_VERSION=5:$docker_package_version-1~ubuntu.$OS_VERSION~lunar +ARG --global DOCKER_VERSION=5:$docker_package_version-1~ubuntu.$OS_VERSION~noble # 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 From 8ec9976be26114f3b2c6bb5553186b5105dbe7aa Mon Sep 17 00:00:00 2001 From: Ido David Date: Thu, 2 May 2024 23:00:51 -0400 Subject: [PATCH 5/5] downgrade to test/take advanatage of auto release --- docs/dockerhub.md | 2 +- os/ubuntu-24.04/Earthfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/dockerhub.md b/docs/dockerhub.md index 5cf9168..28fdb88 100644 --- a/docs/dockerhub.md +++ b/docs/dockerhub.md @@ -14,7 +14,7 @@ For which the current latest tags (respectively) are: * `alpine-3.19-docker-25.0.5-r0` * `ubuntu-20.04-docker-26.1.0-1` * `ubuntu-23.04-docker-25.0.2-1` -* `ubuntu-24.04-docker-26.1.1-1` +* `ubuntu-24.04-docker-26.1.0-1` For other available tags, please check out https://hub.docker.com/r/earthly/dind/tags diff --git a/os/ubuntu-24.04/Earthfile b/os/ubuntu-24.04/Earthfile index 804c279..8089fa2 100644 --- a/os/ubuntu-24.04/Earthfile +++ b/os/ubuntu-24.04/Earthfile @@ -10,7 +10,7 @@ ARG --global OS_IMAGE=ubuntu ARG --global OS_VERSION=24.04 # renovate: datasource=github-releases depName=docker/docker -LET docker_package_version=26.1.1 +LET docker_package_version=26.1.0 ARG --global DOCKER_VERSION=5:$docker_package_version-1~ubuntu.$OS_VERSION~noble # DIR_PATH is set to that common targets can call os specific targets. It should match the directory name this Earthfile is located in