From a474f2c9f032ba30f22b38e67a17d4c0df5206ff Mon Sep 17 00:00:00 2001 From: Guoqi Chen Date: Sat, 15 Jun 2024 10:37:06 +0800 Subject: [PATCH] library/golang:: add 1.22-{buster,alpine} support --- library/golang/1.21-buster/Makefile | 14 +++++------ library/golang/1.22-alpine/Dockerfile | 21 +++++++++++++++++ library/golang/1.22-alpine/Makefile | 19 +++++++++++++++ library/golang/1.22-buster/Dockerfile | 34 +++++++++++++++++++++++++++ library/golang/1.22-buster/Makefile | 29 +++++++++++++++++++++++ 5 files changed, 110 insertions(+), 7 deletions(-) create mode 100644 library/golang/1.22-alpine/Dockerfile create mode 100644 library/golang/1.22-alpine/Makefile create mode 100644 library/golang/1.22-buster/Dockerfile create mode 100644 library/golang/1.22-buster/Makefile diff --git a/library/golang/1.21-buster/Makefile b/library/golang/1.21-buster/Makefile index 18fd998..d37584a 100644 --- a/library/golang/1.21-buster/Makefile +++ b/library/golang/1.21-buster/Makefile @@ -7,7 +7,7 @@ TAG ?= 1.21-buster IMAGE = $(REGISTRY)/$(ORGANIZATION)/$(REPOSITORY):$(TAG) ALIAS = $(REGISTRY)/$(ORGANIZATION)/$(REPOSITORY):1.21 -LATEST = $(REGISTRY)/$(ORGANIZATION)/$(REPOSITORY):latest +LATEST = default: image @@ -17,13 +17,13 @@ image: . push: alias - docker push $(IMAGE) - docker push $(ALIAS) + docker push $(IMAGE) + docker push $(ALIAS) - @if [ -n $(LATEST) ]; then \ - docker tag $(IMAGE) $(LATEST); \ - docker push $(LATEST); \ - fi + @if [ -n $(LATEST) ]; then \ + docker tag $(IMAGE) $(LATEST); \ + docker push $(LATEST); \ + fi alias: docker tag $(IMAGE) $(ALIAS) diff --git a/library/golang/1.22-alpine/Dockerfile b/library/golang/1.22-alpine/Dockerfile new file mode 100644 index 0000000..3d941fe --- /dev/null +++ b/library/golang/1.22-alpine/Dockerfile @@ -0,0 +1,21 @@ +FROM lcr.loongnix.cn/library/alpine:3.19 + +RUN apk --no-cache upgrade +RUN apk add --no-cache ca-certificates gcc musl-dev bash wget + +ENV PATH /usr/local/go/bin:$PATH +ENV GOLANG_VERSION 1.22.4 + +RUN set -eux; \ + url='http://ftp.loongnix.cn/toolchain/golang/go-1.22/abi2.0/go1.22.4.linux-loong64.tar.gz'; \ + sha256='5912a81cdaf3109f68e2d76e2db19378bd48ff60acd86c9c04becd0d48556aba'; \ + wget -O go.tgz "$url" --progress=dot:giga; \ + echo "$sha256 *go.tgz" | sha256sum -c -; \ + tar -C /usr/local -xzf go.tgz; \ + rm go.tgz; \ + go version + +ENV GOPATH /go +ENV PATH $GOPATH/bin:$PATH +RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH" +WORKDIR $GOPATH diff --git a/library/golang/1.22-alpine/Makefile b/library/golang/1.22-alpine/Makefile new file mode 100644 index 0000000..991d721 --- /dev/null +++ b/library/golang/1.22-alpine/Makefile @@ -0,0 +1,19 @@ +# This file is generated by the template. + +REGISTRY ?= lcr.loongnix.cn +ORGANIZATION ?= library +REPOSITORY ?= golang +TAG ?= 1.22-alpine + +IMAGE = $(REGISTRY)/$(ORGANIZATION)/$(REPOSITORY):$(TAG) + +default: image + +image: + docker build \ + -t $(IMAGE) \ + . + +push: + docker push $(IMAGE) + diff --git a/library/golang/1.22-buster/Dockerfile b/library/golang/1.22-buster/Dockerfile new file mode 100644 index 0000000..e7cb325 --- /dev/null +++ b/library/golang/1.22-buster/Dockerfile @@ -0,0 +1,34 @@ +FROM lcr.loongnix.cn/library/debian:sid + +# install cgo-related dependencies +RUN set -eux; \ + apt-get update; \ + apt-get install -y --no-install-recommends \ + g++ \ + gcc \ + libc6-dev \ + make \ + wget \ + pkg-config \ + ; \ + apt-get autoclean all; \ + rm -rf /var/lib/apt/lists/* + +ENV PATH /usr/local/go/bin:$PATH + +ENV GOLANG_VERSION 1.22.4 + +RUN set -eux; \ + url='http://ftp.loongnix.cn/toolchain/golang/go-1.22/abi2.0/go1.22.4.linux-loong64.tar.gz'; \ + sha256='5912a81cdaf3109f68e2d76e2db19378bd48ff60acd86c9c04becd0d48556aba'; \ + wget -O go.tgz "$url" --progress=dot:giga; \ + echo "$sha256 *go.tgz" | sha256sum -c -; \ + tar -C /usr/local -xzf go.tgz; \ + rm go.tgz; \ + go version + +ENV GOPATH /go +ENV PATH $GOPATH/bin:$PATH +RUN mkdir -p "$GOPATH/src" "$GOPATH/bin" && chmod -R 777 "$GOPATH" +WORKDIR $GOPATH + diff --git a/library/golang/1.22-buster/Makefile b/library/golang/1.22-buster/Makefile new file mode 100644 index 0000000..39e01c9 --- /dev/null +++ b/library/golang/1.22-buster/Makefile @@ -0,0 +1,29 @@ +# This file is generated by the template. + +REGISTRY ?= lcr.loongnix.cn +ORGANIZATION ?= library +REPOSITORY ?= golang +TAG ?= 1.22-buster + +IMAGE = $(REGISTRY)/$(ORGANIZATION)/$(REPOSITORY):$(TAG) +ALIAS = $(REGISTRY)/$(ORGANIZATION)/$(REPOSITORY):1.22 +LATEST = $(REGISTRY)/$(ORGANIZATION)/$(REPOSITORY):latest + +default: image + +image: + docker build \ + -t $(IMAGE) \ + . + +push: alias + docker push $(IMAGE) + docker push $(ALIAS) + @if [ -n $(LATEST) ]; then \ + docker tag $(IMAGE) $(LATEST); \ + docker push $(LATEST); \ + fi + +alias: + docker tag $(IMAGE) $(ALIAS) +