diff --git a/Dockerfile.linux-amd64-musl b/Dockerfile.linux-amd64-musl new file mode 100644 index 0000000..4e038c9 --- /dev/null +++ b/Dockerfile.linux-amd64-musl @@ -0,0 +1,15 @@ +ARG GO_VERSION +FROM gotify/build:$GO_VERSION-linux-amd64 +ARG VCS_REF +RUN \ + apt-get update && \ + apt-get install -y musl-tools + +ENV CGO_ENABLED=1 +ENV GOOS=linux +ENV GOARCH=amd64 +ENV GO_EXTRA_LDFLAGS="-linkmode external -extldflags '-static'" +ENV CC=musl-gcc + +LABEL org.opencontainers.image.source="https://github.com/gotify/build" \ + org.opencontainers.image.revision=$VCS_REF diff --git a/Makefile b/Makefile index aee1fe9..a4c7a90 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -PROJECT=gotify/build +PROJECT=docker.io/gotify/build GO_VERSION?=$(shell cat GO_VERSION) VCS_REF=$(shell git describe --tags --always) @@ -20,6 +20,12 @@ build-linux-amd64: push-linux-amd64: docker push ${PROJECT}:${GO_VERSION}-linux-amd64 +build-linux-amd64-musl: + docker build --build-arg VCS_REF=${VCS_REF} --build-arg GO_VERSION=${GO_VERSION} -t ${PROJECT}:${GO_VERSION}-linux-amd64-musl -f Dockerfile.linux-amd64-musl . + +push-linux-amd64-musl: + docker push ${PROJECT}:${GO_VERSION}-linux-amd64-musl + build-linux-386: docker build --build-arg VCS_REF=${VCS_REF} --build-arg GO_VERSION=${GO_VERSION} -t ${PROJECT}:${GO_VERSION}-linux-386 -f Dockerfile.linux-386 . @@ -44,5 +50,5 @@ build-linux-riscv64: push-linux-riscv64: docker push ${PROJECT}:${GO_VERSION}-linux-riscv64 -build: build-linux-amd64 build-linux-arm-7 build-linux-arm64 build-linux-riscv64 build-linux-386 build-windows-amd64 build-windows-386 -push: push-linux-amd64 push-linux-arm-7 push-linux-arm64 push-linux-riscv64 push-linux-386 push-windows-amd64 push-windows-386 \ No newline at end of file +build: build-linux-amd64 build-linux-amd64-musl build-linux-arm-7 build-linux-arm64 build-linux-riscv64 build-linux-386 build-windows-amd64 build-windows-386 +push: push-linux-amd64 push-linux-amd64-musl push-linux-arm-7 push-linux-arm64 push-linux-riscv64 push-linux-386 push-windows-amd64 push-windows-386 \ No newline at end of file