From b1444f31aff2a6cffeb447585f048eda89ebaa30 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 8 Dec 2025 14:49:11 +0000 Subject: [PATCH 1/9] chore(deps): update alpine docker tag to v3.23 --- os/alpine/Earthfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/os/alpine/Earthfile b/os/alpine/Earthfile index 58770ec..8191340 100644 --- a/os/alpine/Earthfile +++ b/os/alpine/Earthfile @@ -7,8 +7,8 @@ IMPORT ../../common AS common ARG --global OS_IMAGE=alpine # renovate: datasource=docker depName=alpine -ARG --global OS_VERSION=3.22 -# renovate: datasource=repology depName=alpine_3_22/docker versioning=loose +ARG --global OS_VERSION=3.23 +# renovate: datasource=repology depName=alpine_3_23/docker versioning=loose ARG --global DOCKER_VERSION=28.3.3-r4 # DIR_PATH is set to that common targets can call os specific targets. It should match the directory name this Earthfile is located in From d637228433609c102ac4761c9a2affedebf54e70 Mon Sep 17 00:00:00 2001 From: Janis Horsts Date: Mon, 8 Dec 2025 20:53:04 +0000 Subject: [PATCH 2/9] ci: support alpine 3.22 and 3.23 --- os/{alpine => alpine-3.22}/Earthfile | 4 +-- os/alpine-3.23/Earthfile | 43 ++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) rename os/{alpine => alpine-3.22}/Earthfile (93%) create mode 100644 os/alpine-3.23/Earthfile diff --git a/os/alpine/Earthfile b/os/alpine-3.22/Earthfile similarity index 93% rename from os/alpine/Earthfile rename to os/alpine-3.22/Earthfile index 8191340..b5a1b9f 100644 --- a/os/alpine/Earthfile +++ b/os/alpine-3.22/Earthfile @@ -7,8 +7,8 @@ IMPORT ../../common AS common ARG --global OS_IMAGE=alpine # renovate: datasource=docker depName=alpine -ARG --global OS_VERSION=3.23 -# renovate: datasource=repology depName=alpine_3_23/docker versioning=loose +ARG --global OS_VERSION=3.22 +# renovate: datasource=repology depName=alpine_3_22/docker ARG --global DOCKER_VERSION=28.3.3-r4 # DIR_PATH is set to that common targets can call os specific targets. It should match the directory name this Earthfile is located in diff --git a/os/alpine-3.23/Earthfile b/os/alpine-3.23/Earthfile new file mode 100644 index 0000000..4970d78 --- /dev/null +++ b/os/alpine-3.23/Earthfile @@ -0,0 +1,43 @@ +VERSION --build-auto-skip 0.8 + +PROJECT earthly-technologies/core + +FROM alpine + +IMPORT ../../common AS common + +ARG --global OS_IMAGE=alpine + +# renovate: datasource=docker depName=alpine +ARG --global OS_VERSION=3.23 +# renovate: datasource=repology depName=alpine_3_23/docker +ARG --global DOCKER_VERSION=29.1.2-r1 + +# 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 + +# 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+alpine-kind-test + BUILD --pass-args common+alpine-docker-compose-test + BUILD --pass-args common+test From 709b4c7dd0c31a058f3b227dfc6040bbee0dd6e2 Mon Sep 17 00:00:00 2001 From: Janis Horsts Date: Mon, 8 Dec 2025 20:58:43 +0000 Subject: [PATCH 3/9] chore: tidy --- .github/workflows/ci.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 625b28a..a85a2b0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,8 +21,13 @@ jobs: strategy: matrix: - os: [alpine, ubuntu-20.04, ubuntu-23.04, ubuntu-24.04] - runs-on: ubuntu-latest + os: + - alpine-3.22 + - alpine-3.23 + - ubuntu-20.04 + - ubuntu-23.04 + - ubuntu-24.04 + runs-on: ubuntu-24.04-arm permissions: contents: read packages: write From b54e63bfeb11a301efc5018b7a5c49504f73f23c Mon Sep 17 00:00:00 2001 From: Janis Horsts Date: Mon, 8 Dec 2025 21:10:46 +0000 Subject: [PATCH 4/9] fix: failing alpine builds --- os/alpine-3.22/Earthfile | 2 +- os/alpine-3.23/Earthfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/os/alpine-3.22/Earthfile b/os/alpine-3.22/Earthfile index b5a1b9f..09ac571 100644 --- a/os/alpine-3.22/Earthfile +++ b/os/alpine-3.22/Earthfile @@ -12,7 +12,7 @@ ARG --global OS_VERSION=3.22 ARG --global DOCKER_VERSION=28.3.3-r4 # 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 +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: diff --git a/os/alpine-3.23/Earthfile b/os/alpine-3.23/Earthfile index 4970d78..9ecd544 100644 --- a/os/alpine-3.23/Earthfile +++ b/os/alpine-3.23/Earthfile @@ -14,7 +14,7 @@ ARG --global OS_VERSION=3.23 ARG --global DOCKER_VERSION=29.1.2-r1 # 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 +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: From 0e7ced7c1d2bf83e211946fa2ad4aeef9889656d Mon Sep 17 00:00:00 2001 From: Janis Horsts Date: Mon, 8 Dec 2025 21:14:41 +0000 Subject: [PATCH 5/9] ci: use ubuntu-24.04 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a85a2b0..c2cee7e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,7 +27,7 @@ jobs: - ubuntu-20.04 - ubuntu-23.04 - ubuntu-24.04 - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-24.04 permissions: contents: read packages: write From 459c09428f96510f98f7a8f5878558a4e6b21424 Mon Sep 17 00:00:00 2001 From: Janis Horsts Date: Mon, 8 Dec 2025 21:47:31 +0000 Subject: [PATCH 6/9] chore: update docs --- .github/renovate.json5 | 13 +++++++++++-- README.md | 4 +++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index f86f04e..6c80001 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -125,8 +125,17 @@ matchPackageNames: [ 'earthbuild/dind', ], - matchCurrentVersion: '/^alpine-.*/', - allowedVersions: '/^alpine-.*/', + matchCurrentVersion: '/^alpine-3\\.22-.*/', + allowedVersions: '/^alpine-3\\.22-.*/', + versioning: 'regex:^(?.*)-(?\\d+\\.\\d+)-docker-(?\\d+)\\.(?\\d+)\\.(?\\d+)-r(?\\d+)$', + }, + { + groupName: 'docs-dind-images', + matchPackageNames: [ + 'earthbuild/dind', + ], + matchCurrentVersion: '/^alpine-3\\.23-.*/', + allowedVersions: '/^alpine-3\\.23-.*/', versioning: 'regex:^(?.*)-(?\\d+\\.\\d+)-docker-(?\\d+)\\.(?\\d+)\\.(?\\d+)-r(?\\d+)$', }, { diff --git a/README.md b/README.md index 44bdee5..a393448 100644 --- a/README.md +++ b/README.md @@ -9,13 +9,15 @@ For information on how to use these images, please refer to [docker in EarthBuil ## Supported Distributions This image supports the following Linux distributions: -* alpine +* alpine:3.22 +* alpine:3.23 * ubuntu:20.04 * ubuntu:23.04 * ubuntu:24.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` From 406ce1339c759c5388fe5ccf38468714c191e391 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 12 Dec 2025 23:02:05 +0000 Subject: [PATCH 7/9] chore(deps): update earthbuild/earthbuild digest to 518e0c3 (#106) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .arg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.arg b/.arg index 12876ea..c6a3160 100644 --- a/.arg +++ b/.arg @@ -1,4 +1,4 @@ CR_HOST=ghcr.io CR_ORG=earthbuild IMAGE_NAME=dind -EARTHLY_REPO_VERSION=5b922f3289c444457818e71d4a0e3e155fad2a7e +EARTHLY_REPO_VERSION=518e0c3ffb1cd968ade93ed294d4c7a7e35c0701 From b888f0b1c2d1fb6c288410b0943780e0b59b958a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 16 Dec 2025 13:40:03 +0000 Subject: [PATCH 8/9] chore(deps): update earthbuild/earthbuild digest to 38db92f (#107) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .arg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.arg b/.arg index c6a3160..e634a99 100644 --- a/.arg +++ b/.arg @@ -1,4 +1,4 @@ CR_HOST=ghcr.io CR_ORG=earthbuild IMAGE_NAME=dind -EARTHLY_REPO_VERSION=518e0c3ffb1cd968ade93ed294d4c7a7e35c0701 +EARTHLY_REPO_VERSION=38db92fa13f5a0ef27a0c226ed89baf493d8246f From 366ad3d1d4cb0e84f9d7ada32cc8686f91d602a4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 18 Dec 2025 04:45:51 +0000 Subject: [PATCH 9/9] chore(deps): update alpine docker tag to v3.23.2 (#108) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- Earthfile | 2 +- common/Earthfile | 4 ++-- os/alpine-3.22/Earthfile | 2 +- os/ubuntu-20.04/Earthfile | 2 +- os/ubuntu-23.04/Earthfile | 2 +- os/ubuntu-24.04/Earthfile | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Earthfile b/Earthfile index 620af2d..8c2ea0a 100644 --- a/Earthfile +++ b/Earthfile @@ -8,7 +8,7 @@ test: # release expects to get a renovate branch in the form of renovate/-dind-image, extracts the os and then kicks off its +release target # this is meant to be run by a github workflow release: - FROM alpine:3.23.0@sha256:51183f2cfa6320055da30872f211093f9ff1d3cf06f39a0bdb212314c5dc7375 + FROM alpine:3.23.2@sha256:c93cec902b6a0c6ef3b5ab7c65ea36beada05ec1205664a4131d9e8ea13e405d # RENOVATE_BRANCH is the renovate branch that is expected to get merged and trigger this target ARG --required RENOVATE_BRANCH LET os=${RENOVATE_BRANCH#renovate/} diff --git a/common/Earthfile b/common/Earthfile index fc5bbfa..6a05950 100644 --- a/common/Earthfile +++ b/common/Earthfile @@ -1,6 +1,6 @@ VERSION --build-auto-skip 0.8 -FROM alpine:3.23.0@sha256:51183f2cfa6320055da30872f211093f9ff1d3cf06f39a0bdb212314c5dc7375 +FROM alpine:3.23.2@sha256:c93cec902b6a0c6ef3b5ab7c65ea36beada05ec1205664a4131d9e8ea13e405d # EARTHLY_REPO_VERSION specifies a branch and/or commit of earthly/earthly (it defaults to the earthly cli version if left empty) ARG EARTHLY_REPO_VERSION @@ -116,7 +116,7 @@ build-and-test: # push-new-tag expects to get an image with a tag that contains a date as a suffix, and save the image with the same tag but without the date suffix # this is used to "graduate" the image version from a temporary version to an official version. push-new-tag: - FROM alpine:3.23.0@sha256:51183f2cfa6320055da30872f211093f9ff1d3cf06f39a0bdb212314c5dc7375 + FROM alpine:3.23.2@sha256:c93cec902b6a0c6ef3b5ab7c65ea36beada05ec1205664a4131d9e8ea13e405d ARG --required TAG_WITH_DATE WAIT IF ! [[ "$TAG_WITH_DATE" =~ "-[0-9]{14}$" ]] diff --git a/os/alpine-3.22/Earthfile b/os/alpine-3.22/Earthfile index 09ac571..3652b34 100644 --- a/os/alpine-3.22/Earthfile +++ b/os/alpine-3.22/Earthfile @@ -1,6 +1,6 @@ VERSION --build-auto-skip 0.8 -FROM alpine:3.23.0@sha256:51183f2cfa6320055da30872f211093f9ff1d3cf06f39a0bdb212314c5dc7375 +FROM alpine:3.23.2@sha256:c93cec902b6a0c6ef3b5ab7c65ea36beada05ec1205664a4131d9e8ea13e405d IMPORT ../../common AS common diff --git a/os/ubuntu-20.04/Earthfile b/os/ubuntu-20.04/Earthfile index 255cd24..c02db44 100644 --- a/os/ubuntu-20.04/Earthfile +++ b/os/ubuntu-20.04/Earthfile @@ -1,6 +1,6 @@ VERSION --build-auto-skip 0.8 -FROM alpine:3.23.0@sha256:51183f2cfa6320055da30872f211093f9ff1d3cf06f39a0bdb212314c5dc7375 +FROM alpine:3.23.2@sha256:c93cec902b6a0c6ef3b5ab7c65ea36beada05ec1205664a4131d9e8ea13e405d IMPORT ../../common AS common diff --git a/os/ubuntu-23.04/Earthfile b/os/ubuntu-23.04/Earthfile index 1c9197d..e999ca2 100644 --- a/os/ubuntu-23.04/Earthfile +++ b/os/ubuntu-23.04/Earthfile @@ -1,6 +1,6 @@ VERSION --build-auto-skip 0.8 -FROM alpine:3.23.0@sha256:51183f2cfa6320055da30872f211093f9ff1d3cf06f39a0bdb212314c5dc7375 +FROM alpine:3.23.2@sha256:c93cec902b6a0c6ef3b5ab7c65ea36beada05ec1205664a4131d9e8ea13e405d IMPORT ../../common AS common diff --git a/os/ubuntu-24.04/Earthfile b/os/ubuntu-24.04/Earthfile index 151532f..353d31d 100644 --- a/os/ubuntu-24.04/Earthfile +++ b/os/ubuntu-24.04/Earthfile @@ -1,6 +1,6 @@ VERSION --build-auto-skip 0.8 -FROM alpine:3.23.0@sha256:51183f2cfa6320055da30872f211093f9ff1d3cf06f39a0bdb212314c5dc7375 +FROM alpine:3.23.2@sha256:c93cec902b6a0c6ef3b5ab7c65ea36beada05ec1205664a4131d9e8ea13e405d IMPORT ../../common AS common