From d013d66205cca579148573582c6e1f8fff4af144 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=82=9F=E7=A9=BA?= Date: Wed, 1 Mar 2023 14:03:48 +0800 Subject: [PATCH] feat: tinygo version default 0.27.0 (#222) --- plugins/wasm-go/Dockerfile | 2 +- plugins/wasm-go/DockerfileBuilder | 8 ++++---- plugins/wasm-go/Makefile | 26 +++++++++++++++++++------- 3 files changed, 24 insertions(+), 12 deletions(-) diff --git a/plugins/wasm-go/Dockerfile b/plugins/wasm-go/Dockerfile index 8aae062ca..2d19fc523 100644 --- a/plugins/wasm-go/Dockerfile +++ b/plugins/wasm-go/Dockerfile @@ -1,4 +1,4 @@ -ARG BUILDER=higress-registry.cn-hangzhou.cr.aliyuncs.com/plugins/wasm-go-builder:go1.19-tinygo0.26.0 +ARG BUILDER=higress-registry.cn-hangzhou.cr.aliyuncs.com/plugins/wasm-go-builder:go1.19-tinygo0.27.0 FROM $BUILDER as builder ARG PLUGIN_NAME=hello-world diff --git a/plugins/wasm-go/DockerfileBuilder b/plugins/wasm-go/DockerfileBuilder index ba0756c41..a2a9a28a6 100644 --- a/plugins/wasm-go/DockerfileBuilder +++ b/plugins/wasm-go/DockerfileBuilder @@ -4,12 +4,12 @@ # - arch: amd64 \ # base image: docker.io/ubuntu # go_url: https://golang.google.cn/dl/go1.20.1.linux-amd64.tar.gz" -# tinygo_url: https://github.com/tinygo-org/tinygo/releases/download/v0.26.0/tinygo_0.26.0_amd64.deb +# tinygo_url: https://github.com/tinygo-org/tinygo/releases/download/v0.27.0/tinygo_0.27.0_amd64.deb # # - arch: arm64 # base image: docker.io/ubuntu # go_url: https://golang.google.cn/dl/go1.20.1.linux-arm64.tar.gz -# tinygo_url: https://github.com/tinygo-org/tinygo/releases/download/v0.26.0/tinygo_0.26.0_arm64.deb +# tinygo_url: https://github.com/tinygo-org/tinygo/releases/download/v0.27.0/tinygo_0.27.0_arm64.deb # # - arch: armel # base image: build yourself @@ -39,7 +39,7 @@ # - arch: armhf # base image: build your self # go_url: https://golang.google.cn/dl/go1.20.1.linux-armv6l.tar.gz -# tinygo_url: https://github.com/tinygo-org/tinygo/releases/download/v0.26.0/tinygo_0.26.0_armhf.deb +# tinygo_url: https://github.com/tinygo-org/tinygo/releases/download/v0.27.0/tinygo_0.27.0_armhf.deb ARG BASE_IMAGE=docker.io/ubuntu FROM $BASE_IMAGE @@ -58,7 +58,7 @@ RUN arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; \ go_url=; \ tinygo_url=; \ go_version=${GO_VERSION:-1.19}; \ - tinygo_version=${TINYGO_VERSION:-0.26.0}; \ + tinygo_version=${TINYGO_VERSION:-0.27.0}; \ echo "arch: '$arch'"; \ echo "go go_version: '$go_version'"; \ echo "tinygo_version: '$tinygo_version'"; \ diff --git a/plugins/wasm-go/Makefile b/plugins/wasm-go/Makefile index a3ec58743..a8fc1b4e5 100644 --- a/plugins/wasm-go/Makefile +++ b/plugins/wasm-go/Makefile @@ -1,5 +1,8 @@ PLUGIN_NAME ?= hello-world -REGISTRY ?= +REGISTRY ?= higress-registry.cn-hangzhou.cr.aliyuncs.com/plugins/ +GO_VERSION ?= 1.19 +TINYGO_VERSION ?= 0.27.0 +BUILDER ?= ${REGISTRY}wasm-go-builder:go${GO_VERSION}-tinygo${TINYGO_VERSION} BUILD_TIME := $(shell date "+%Y%m%d-%H%M%S") COMMIT_ID := $(shell git rev-parse --short HEAD 2>/dev/null) IMG ?= ${REGISTRY}${PLUGIN_NAME}:${BUILD_TIME}-${COMMIT_ID} @@ -7,6 +10,7 @@ IMG ?= ${REGISTRY}${PLUGIN_NAME}:${BUILD_TIME}-${COMMIT_ID} .DEFAULT: build: DOCKER_BUILDKIT=1 docker build --build-arg PLUGIN_NAME=${PLUGIN_NAME} \ + --build-arg BUILDER=${BUILDER} \ -t ${IMG} \ --output extensions/${PLUGIN_NAME} \ . @@ -19,14 +23,22 @@ build-push: build # builder: # To build a wasm-go-builder image. +# e.g. +# REGISTRY= make builder # If you want to use Go/TinyGo with another version, please modify GO_VERSION/TINYGO_VERSION. -# After your wasm-go-builder image is built, you can use --build-arg BUILDER= to build plugin image. +# After your wasm-go-builder image is built, you can use it to build plugin image. +# e.g. +# PLUGIN_NAME=request-block BUILDER= make builder: - docker buildx build --platform linux/amd64,linux/arm64 \ + BUILDER=$(REGISTRY)wasm-go-builder:go$(GO_VERSION)-tinygo$(TINYGO_VERSION) + docker buildx build --no-cache \ + --platform linux/amd64,linux/arm64 \ --build-arg BASE_IMAGE=docker.io/ubuntu \ - --build-arg GO_VERSION=1.19 \ - --build-arg TINYGO_VERSION=0.26.0 \ + --build-arg GO_VERSION=$(GO_VERSION) \ + --build-arg TINYGO_VERSION=$(TINYGO_VERSION) \ -f DockerfileBuilder \ - -t wasm-go-builder:go1.19-tinygo0.26.0 \ + -t ${BUILDER} \ --push \ - . \ No newline at end of file + . + @echo "" + @echo "image: ${BUILDER}"