|
|
|
|
@@ -1,9 +1,9 @@
|
|
|
|
|
DOCKER_USER ?= summerwind
|
|
|
|
|
DOCKER ?= docker
|
|
|
|
|
NAME ?= ${DOCKER_USER}/actions-runner
|
|
|
|
|
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
|
|
|
|
|
TAG ?= latest
|
|
|
|
|
OS_IMAGE ?= ubuntu-20.04
|
|
|
|
|
TARGETPLATFORM ?= $(shell arch)
|
|
|
|
|
|
|
|
|
|
RUNNER_VERSION ?= 2.299.1
|
|
|
|
|
@@ -39,33 +39,33 @@ else
|
|
|
|
|
$(error Supported target platforms: linux/amd64 and linux/arm64)
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
docker-build-ubuntu: check-target-platform
|
|
|
|
|
docker-build-set: check-target-platform
|
|
|
|
|
${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.dockerfile \
|
|
|
|
|
-t ${NAME}:${TAG} .
|
|
|
|
|
-f actions-runner.${OS_IMAGE}.dockerfile \
|
|
|
|
|
-t ${DEFAULT_RUNNER_NAME}:${OS_IMAGE} .
|
|
|
|
|
${DOCKER} build \
|
|
|
|
|
--build-arg TARGETPLATFORM=${TARGETPLATFORM} \
|
|
|
|
|
--build-arg RUNNER_VERSION=${RUNNER_VERSION} \
|
|
|
|
|
--build-arg DOCKER_VERSION=${DOCKER_VERSION} \
|
|
|
|
|
-f actions-runner-dind.dockerfile \
|
|
|
|
|
-t ${DIND_RUNNER_NAME}:${TAG} .
|
|
|
|
|
-f actions-runner-dind.${OS_IMAGE}.dockerfile \
|
|
|
|
|
-t ${DIND_RUNNER_NAME}:${OS_IMAGE} .
|
|
|
|
|
${DOCKER} build \
|
|
|
|
|
--build-arg TARGETPLATFORM=${TARGETPLATFORM} \
|
|
|
|
|
--build-arg RUNNER_VERSION=${RUNNER_VERSION} \
|
|
|
|
|
--build-arg DOCKER_VERSION=${DOCKER_VERSION} \
|
|
|
|
|
-f actions-runner-dind-rootless.dockerfile \
|
|
|
|
|
-t ${DIND_ROOTLESS_RUNNER_NAME}:${TAG} .
|
|
|
|
|
-f actions-runner-dind-rootless.${OS_IMAGE}.dockerfile \
|
|
|
|
|
-t "${DIND_ROOTLESS_RUNNER_NAME}:${OS_IMAGE}" .
|
|
|
|
|
|
|
|
|
|
docker-push-ubuntu:
|
|
|
|
|
${DOCKER} push ${NAME}:${TAG}
|
|
|
|
|
${DOCKER} push ${DIND_RUNNER_NAME}:${TAG}
|
|
|
|
|
${DOCKER} push ${DIND_ROOTLESS_RUNNER_NAME}:${TAG}
|
|
|
|
|
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-buildx-ubuntu:
|
|
|
|
|
docker-buildx-set:
|
|
|
|
|
export DOCKER_CLI_EXPERIMENTAL=enabled ;\
|
|
|
|
|
export DOCKER_BUILDKIT=1
|
|
|
|
|
@if ! docker buildx ls | grep -q container-builder; then\
|
|
|
|
|
@@ -75,19 +75,62 @@ docker-buildx-ubuntu:
|
|
|
|
|
--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.dockerfile \
|
|
|
|
|
-t "${NAME}:${TAG}" \
|
|
|
|
|
-f actions-runner.${OS_IMAGE}.dockerfile \
|
|
|
|
|
-t "${DEFAULT_RUNNER_NAME}:${OS_IMAGE}" \
|
|
|
|
|
. ${PUSH_ARG}
|
|
|
|
|
${DOCKER} buildx build --platform ${PLATFORMS} \
|
|
|
|
|
--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.dockerfile \
|
|
|
|
|
-t "${DIND_RUNNER_NAME}:${TAG}" \
|
|
|
|
|
-f actions-runner-dind.${OS_IMAGE}.dockerfile \
|
|
|
|
|
-t "${DIND_RUNNER_NAME}:${OS_IMAGE}" \
|
|
|
|
|
. ${PUSH_ARG}
|
|
|
|
|
${DOCKER} buildx build --platform ${PLATFORMS} \
|
|
|
|
|
--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-rootless.dockerfile \
|
|
|
|
|
-t "${DIND_ROOTLESS_RUNNER_NAME}:${TAG}" \
|
|
|
|
|
-f actions-runner-dind-rootless.${OS_IMAGE}.dockerfile \
|
|
|
|
|
-t "${DIND_ROOTLESS_RUNNER_NAME}:${OS_IMAGE}" \
|
|
|
|
|
. ${PUSH_ARG}
|
|
|
|
|
|
|
|
|
|
docker-buildx-default:
|
|
|
|
|
export DOCKER_CLI_EXPERIMENTAL=enabled ;\
|
|
|
|
|
export DOCKER_BUILDKIT=1
|
|
|
|
|
@if ! docker buildx ls | grep -q container-builder; then\
|
|
|
|
|
docker buildx create --platform ${PLATFORMS} --name container-builder --use;\
|
|
|
|
|
fi
|
|
|
|
|
${DOCKER} buildx build --platform ${PLATFORMS} \
|
|
|
|
|
--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.${OS_IMAGE}.dockerfile \
|
|
|
|
|
-t "${DEFAULT_RUNNER_NAME}:${OS_IMAGE}" \
|
|
|
|
|
. ${PUSH_ARG}
|
|
|
|
|
|
|
|
|
|
docker-buildx-dind:
|
|
|
|
|
export DOCKER_CLI_EXPERIMENTAL=enabled ;\
|
|
|
|
|
export DOCKER_BUILDKIT=1
|
|
|
|
|
@if ! docker buildx ls | grep -q container-builder; then\
|
|
|
|
|
docker buildx create --platform ${PLATFORMS} --name container-builder --use;\
|
|
|
|
|
fi
|
|
|
|
|
${DOCKER} buildx build --platform ${PLATFORMS} \
|
|
|
|
|
--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}" \
|
|
|
|
|
. ${PUSH_ARG}
|
|
|
|
|
|
|
|
|
|
docker-buildx-dind-rootless:
|
|
|
|
|
export DOCKER_CLI_EXPERIMENTAL=enabled ;\
|
|
|
|
|
export DOCKER_BUILDKIT=1
|
|
|
|
|
@if ! docker buildx ls | grep -q container-builder; then\
|
|
|
|
|
docker buildx create --platform ${PLATFORMS} --name container-builder --use;\
|
|
|
|
|
fi
|
|
|
|
|
${DOCKER} buildx build --platform ${PLATFORMS} \
|
|
|
|
|
--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-rootless.${OS_IMAGE}.dockerfile \
|
|
|
|
|
-t "${DIND_ROOTLESS_RUNNER_NAME}:${OS_IMAGE}" \
|
|
|
|
|
. ${PUSH_ARG}
|
|
|
|
|
|