diff --git a/Makefile.docker b/Makefile.docker index 768fafe50..ef73c00a9 100644 --- a/Makefile.docker +++ b/Makefile.docker @@ -32,7 +32,7 @@ DOCKER:= NAME:=coredns GITHUB:=https://github.com/coredns/coredns/releases/download # mips is not in LINUX_ARCH because it's not supported by docker manifest. Keep this list in sync with the one in Makefile.release -LINUX_ARCH:=amd64 arm arm64 mips64le ppc64le s390x +LINUX_ARCH:=amd64 arm arm64 mips64le ppc64le s390x riscv64 DOCKER_IMAGE_NAME:=$(DOCKER)/$(NAME) DOCKER_IMAGE_LIST_VERSIONED:=$(shell echo $(LINUX_ARCH) | sed -e "s~[^ ]*~$(DOCKER_IMAGE_NAME):&\-$(VERSION)~g") @@ -83,7 +83,11 @@ else docker version for arch in $(LINUX_ARCH); do \ cp Dockerfile build/docker/$${arch} ; \ - DOCKER_BUILDKIT=1 docker build --platform=$${arch} -t $(DOCKER_IMAGE_NAME):$${arch}-$(VERSION) build/docker/$${arch} ;\ + DOCKER_ARGS=""; \ + if [ "$${arch}" = "riscv64" ]; then \ + DOCKER_ARGS="--build-arg=DEBIAN_IMAGE=debian:unstable-slim --build-arg=BASE=ghcr.io/go-riscv/distroless/static-unstable:nonroot"; \ + fi; \ + DOCKER_BUILDKIT=1 docker build --platform=$${arch} -t $(DOCKER_IMAGE_NAME):$${arch}-$(VERSION) $${DOCKER_ARGS} build/docker/$${arch} ;\ done endif diff --git a/Makefile.release b/Makefile.release index 89ca800e2..e89d14974 100644 --- a/Makefile.release +++ b/Makefile.release @@ -50,7 +50,7 @@ endif NAME:=coredns VERSION:=$(shell grep 'CoreVersion' coremain/version.go | awk '{ print $$3 }' | tr -d '"') GITHUB:=coredns -LINUX_ARCH:=amd64 arm arm64 mips64le ppc64le s390x mips +LINUX_ARCH:=amd64 arm arm64 mips64le ppc64le s390x mips riscv64 all: @echo Use the 'release' target to build a release