diff --git a/runner/Makefile b/runner/Makefile index b19ecb1d..ec6d3f7f 100644 --- a/runner/Makefile +++ b/runner/Makefile @@ -1,14 +1,15 @@ -DOCKER_USER ?= summerwind +DOCKER_USER ?= igeolise DOCKER ?= docker DEFAULT_RUNNER_NAME ?= ${DOCKER_USER}/actions-runner DIND_RUNNER_NAME ?= ${DOCKER_USER}/actions-runner-dind DIND_ROOTLESS_RUNNER_NAME ?= ${DOCKER_USER}/actions-runner-dind-rootless -OS_IMAGE ?= ubuntu-22.04 +OS_IMAGE ?= ubuntu-24.04 TARGETPLATFORM ?= $(shell arch) +IMAGE_TAG_SUFFIX ?= -0.0.1 RUNNER_VERSION ?= 2.330.0 RUNNER_CONTAINER_HOOKS_VERSION ?= 0.8.0 -DOCKER_VERSION ?= 28.0.4 +DOCKER_VERSION ?= 29.1.3 # default list of platforms for which multiarch image is built ifeq (${PLATFORMS}, ) @@ -46,20 +47,20 @@ docker-build-set: check-target-platform --build-arg RUNNER_CONTAINER_HOOKS_VERSION=${RUNNER_CONTAINER_HOOKS_VERSION} \ --build-arg DOCKER_VERSION=${DOCKER_VERSION} \ -f actions-runner.${OS_IMAGE}.dockerfile \ - -t ${DEFAULT_RUNNER_NAME}:${OS_IMAGE} . + -t ${DEFAULT_RUNNER_NAME}:${OS_IMAGE}${IMAGE_TAG_SUFFIX} . ${DOCKER} build \ --build-arg TARGETPLATFORM=${TARGETPLATFORM} \ --build-arg RUNNER_VERSION=${RUNNER_VERSION} \ --build-arg RUNNER_CONTAINER_HOOKS_VERSION=${RUNNER_CONTAINER_HOOKS_VERSION} \ --build-arg DOCKER_VERSION=${DOCKER_VERSION} \ -f actions-runner-dind.${OS_IMAGE}.dockerfile \ - -t ${DIND_RUNNER_NAME}:${OS_IMAGE} . + -t ${DIND_RUNNER_NAME}:${OS_IMAGE}${IMAGE_TAG_SUFFIX} . ${DOCKER} build \ --build-arg TARGETPLATFORM=${TARGETPLATFORM} \ --build-arg RUNNER_VERSION=${RUNNER_VERSION} \ --build-arg DOCKER_VERSION=${DOCKER_VERSION} \ -f actions-runner-dind-rootless.${OS_IMAGE}.dockerfile \ - -t "${DIND_ROOTLESS_RUNNER_NAME}:${OS_IMAGE}" . + -t "${DIND_ROOTLESS_RUNNER_NAME}:${OS_IMAGE}${IMAGE_TAG_SUFFIX}" . docker-build-default: check-target-platform ${DOCKER} build \ @@ -68,7 +69,7 @@ docker-build-default: check-target-platform --build-arg RUNNER_CONTAINER_HOOKS_VERSION=${RUNNER_CONTAINER_HOOKS_VERSION} \ --build-arg DOCKER_VERSION=${DOCKER_VERSION} \ -f actions-runner.${OS_IMAGE}.dockerfile \ - -t ${DEFAULT_RUNNER_NAME}:${OS_IMAGE} . + -t ${DEFAULT_RUNNER_NAME}:${OS_IMAGE}${IMAGE_TAG_SUFFIX} . docker-build-dind: check-target-platform ${DOCKER} build \ @@ -77,18 +78,18 @@ docker-build-dind: check-target-platform --build-arg RUNNER_CONTAINER_HOOKS_VERSION=${RUNNER_CONTAINER_HOOKS_VERSION} \ --build-arg DOCKER_VERSION=${DOCKER_VERSION} \ -f actions-runner-dind.${OS_IMAGE}.dockerfile \ - -t ${DIND_RUNNER_NAME}:${OS_IMAGE} . + -t ${DIND_RUNNER_NAME}:${OS_IMAGE}${IMAGE_TAG_SUFFIX} . docker-push-default: - ${DOCKER} push "${DEFAULT_RUNNER_NAME}:${OS_IMAGE}" + ${DOCKER} push "${DEFAULT_RUNNER_NAME}:${OS_IMAGE}${IMAGE_TAG_SUFFIX}" docker-push-dind: - ${DOCKER} push "${DIND_RUNNER_NAME}:${OS_IMAGE}" + ${DOCKER} push "${DIND_RUNNER_NAME}:${OS_IMAGE}${IMAGE_TAG_SUFFIX}" docker-push-set: - ${DOCKER} push "${DEFAULT_RUNNER_NAME}:${OS_IMAGE}" - ${DOCKER} push "${DIND_RUNNER_NAME}:${OS_IMAGE}" - ${DOCKER} push "${DIND_ROOTLESS_RUNNER_NAME}:${OS_IMAGE}" + ${DOCKER} push "${DEFAULT_RUNNER_NAME}:${OS_IMAGE}${IMAGE_TAG_SUFFIX}" + ${DOCKER} push "${DIND_RUNNER_NAME}:${OS_IMAGE}${IMAGE_TAG_SUFFIX}" + ${DOCKER} push "${DIND_ROOTLESS_RUNNER_NAME}:${OS_IMAGE}${IMAGE_TAG_SUFFIX}" docker-buildx-set: export DOCKER_CLI_EXPERIMENTAL=enabled ;\ diff --git a/runner/actions-runner-dind.ubuntu-24.04.dockerfile b/runner/actions-runner-dind.ubuntu-24.04.dockerfile index a9ca2b51..1e674327 100644 --- a/runner/actions-runner-dind.ubuntu-24.04.dockerfile +++ b/runner/actions-runner-dind.ubuntu-24.04.dockerfile @@ -5,8 +5,7 @@ ARG RUNNER_VERSION ARG RUNNER_CONTAINER_HOOKS_VERSION # Docker and Docker Compose arguments ARG CHANNEL=stable -ARG DOCKER_VERSION=28.0.4 -ARG DOCKER_COMPOSE_VERSION=v2.38.2 +ARG DOCKER_VERSION=29.1.3 ARG DUMB_INIT_VERSION=1.2.5 ARG RUNNER_USER_UID=1001 ARG DOCKER_GROUP_GID=121 @@ -28,10 +27,6 @@ RUN apt-get update -y \ zip \ && rm -rf /var/lib/apt/lists/* -# Download latest git-lfs version -RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash && \ - apt-get install -y --no-install-recommends git-lfs - # Runner user RUN adduser --disabled-password --gecos "" --uid $RUNNER_USER_UID runner \ && groupadd docker --gid $DOCKER_GROUP_GID \ @@ -82,16 +77,6 @@ RUN set -vx; \ && install -o root -g root -m 755 docker/* /usr/bin/ \ && rm -rf docker docker.tgz -RUN export ARCH=$(echo ${TARGETPLATFORM} | cut -d / -f2) \ - && if [ "$ARCH" = "arm64" ]; then export ARCH=aarch64 ; fi \ - && if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "i386" ]; then export ARCH=x86_64 ; fi \ - && mkdir -p /usr/libexec/docker/cli-plugins \ - && curl -fLo /usr/libexec/docker/cli-plugins/docker-compose https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-linux-${ARCH} \ - && chmod +x /usr/libexec/docker/cli-plugins/docker-compose \ - && ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose \ - && which docker-compose \ - && docker compose version - # We place the scripts in `/usr/bin` so that users who extend this image can # override them with scripts of the same name placed in `/usr/local/bin`. COPY entrypoint-dind.sh startup.sh logger.sh wait.sh graceful-stop.sh update-status /usr/bin/