Skip to content
Merged
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
12 changes: 12 additions & 0 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,18 @@
datasourceTemplate: 'repology',
versioningTemplate: 'loose',
},
{
customType: 'regex',
managerFilePatterns: [
'README.md',
],
matchStrings: [
'\\*\\s+\\`alpine-3\\.24-docker-(?<currentValue>.*?)\\`\\n',
],
depNameTemplate: 'alpine_3_24/docker',
datasourceTemplate: 'repology',
versioningTemplate: 'loose',
},
{
customType: 'regex',
managerFilePatterns: [
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ jobs:
os:
- alpine-3.22
- alpine-3.23
- alpine-3.24
- ubuntu-20.04
- ubuntu-24.04
- ubuntu-26.04
Expand Down
2 changes: 2 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ dependencies that will trigger new versions of the dind images such as the docke
│ └── Earthfile
├── alpine-3.23
│ └── Earthfile
├── alpine-3.24
│ └── Earthfile
├── ubuntu-20.04
│ └── Earthfile
└── ubuntu-24.04
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,15 @@ For information on how to use these images, please refer to [docker in EarthBuil
This image supports the following Linux distributions:
* alpine:3.22
* alpine:3.23
* alpine:3.24
* ubuntu:20.04
* ubuntu:24.04
* ubuntu:26.04

For which the current latest tags (respectively) are:
* `alpine-3.22-docker-28.3.3-r5`
* `alpine-3.23-docker-29.5.2-r0`
* `alpine-3.24-docker-29.5.3-r0`
* `ubuntu-20.04-docker-28.1.1-1`
* `ubuntu-24.04-docker-28.5.2-1`
* `ubuntu-26.04-docker-29.4.0-1`
Expand Down
4 changes: 2 additions & 2 deletions os/alpine-3.22/Earthfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ ARG --global OS_VERSION=3.22
# renovate: datasource=repology depName=alpine_3_22/docker versioning=loose
ARG --global DOCKER_VERSION=28.3.3-r5

# DIR_PATH is set to that common targets can call os specific targets. It should match the directory name this Earthfile is located in
# DIR_PATH must match the directory name of this Earthfile
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
Expand All @@ -33,7 +33,7 @@ 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
# runs tests against the temporary image built by +test-build
test:
BUILD --pass-args common+alpine-kind-test
BUILD --pass-args common+alpine-docker-compose-test
Expand Down
6 changes: 2 additions & 4 deletions os/alpine-3.23/Earthfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
VERSION --build-auto-skip 0.8

PROJECT earthly-technologies/core

FROM alpine:3.24.1@sha256:28bd5fe8b56d1bd048e5babf5b10710ebe0bae67db86916198a6eec434943f8b

IMPORT ../../common AS common
Expand All @@ -12,7 +10,7 @@ ARG --global OS_VERSION=3.23
# renovate: datasource=repology depName=alpine_3_23/docker
ARG --global DOCKER_VERSION=29.5.2-r0

# DIR_PATH is set to that common targets can call os specific targets. It should match the directory name this Earthfile is located in
# DIR_PATH must match the directory name of this Earthfile
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
Expand All @@ -35,7 +33,7 @@ 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
# runs tests against the temporary image built by +test-build
test:
BUILD --pass-args common+alpine-kind-test
BUILD --pass-args common+alpine-docker-compose-test
Expand Down
40 changes: 40 additions & 0 deletions os/alpine-3.24/Earthfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
VERSION --build-auto-skip 0.8

FROM alpine:3.24.1@sha256:28bd5fe8b56d1bd048e5babf5b10710ebe0bae67db86916198a6eec434943f8b

IMPORT ../../common AS common

ARG --global OS_IMAGE=alpine

ARG --global OS_VERSION=3.24
# renovate: datasource=repology depName=alpine_3_24/docker
ARG --global DOCKER_VERSION=29.5.3-r0

# DIR_PATH must match the directory name of this Earthfile
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
# runs tests against the temporary image built by +test-build
test:
BUILD --pass-args common+alpine-kind-test
BUILD --pass-args common+alpine-docker-compose-test
BUILD --pass-args common+test
4 changes: 2 additions & 2 deletions os/ubuntu-20.04/Earthfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ ARG --global OS_VERSION=20.04
LET docker_package_version=28.1.1
ARG --global DOCKER_VERSION=5:$docker_package_version-1~ubuntu.$OS_VERSION~focal

# DIR_PATH is set to that common targets can call os specific targets. It should match the directory name this Earthfile is located in
# DIR_PATH must match the directory name of this Earthfile
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
Expand All @@ -34,7 +34,7 @@ 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
# runs tests against the temporary image built by +test-build
test:
BUILD --pass-args common+ubuntu-kind-test
BUILD --pass-args common+test
4 changes: 2 additions & 2 deletions os/ubuntu-24.04/Earthfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ ARG --global OS_VERSION=24.04
LET docker_package_version=28.5.2
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
# DIR_PATH must match the directory name of this Earthfile
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
Expand All @@ -34,7 +34,7 @@ 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
# runs tests against the temporary image built by +test-build
test:
BUILD --pass-args common+ubuntu-kind-test
BUILD --pass-args common+test
4 changes: 2 additions & 2 deletions os/ubuntu-26.04/Earthfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ ARG --global OS_VERSION=26.04
LET docker_package_version=29.4.0
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
# DIR_PATH must match the directory name of this Earthfile
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
Expand All @@ -34,7 +34,7 @@ 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
# runs tests against the temporary image built by +test-build
test:
BUILD --pass-args common+ubuntu-kind-test
BUILD --pass-args common+test