mirror of
https://gitee.com/milvus-io/milvus.git
synced 2024-12-02 03:48:37 +08:00
enhance: Upgrade go version from 1.20 to 1.21 (#33940)
issue #32982 related pr in master: pr: #33047 #33150 #33176 #33351 #33202 #33192 Signed-off-by: shaoting-huang <shaoting.huang@zilliz.com>
This commit is contained in:
parent
4424c9e5e7
commit
b3d425f50a
8
.env
8
.env
@ -5,12 +5,12 @@ IMAGE_ARCH=amd64
|
||||
OS_NAME=ubuntu20.04
|
||||
|
||||
# for services.builder.image in docker-compose.yml
|
||||
DATE_VERSION=20240429-6289f3a
|
||||
LATEST_DATE_VERSION=20240429-6289f3a
|
||||
DATE_VERSION=20240520-d27db99
|
||||
LATEST_DATE_VERSION=20240520-d27db99
|
||||
|
||||
# for services.gpubuilder.image in docker-compose.yml
|
||||
GPU_DATE_VERSION=20240409-08bfb43
|
||||
LATEST_GPU_DATE_VERSION=20240409-08bfb43
|
||||
GPU_DATE_VERSION=20240520-c35eaaa
|
||||
LATEST_GPU_DATE_VERSION=20240520-c35eaaa
|
||||
|
||||
# for other services in docker-compose.yml
|
||||
MINIO_ADDRESS=minio:9000
|
||||
|
2
.github/workflows/mac.yaml
vendored
2
.github/workflows/mac.yaml
vendored
@ -56,7 +56,7 @@ jobs:
|
||||
- name: Setup Go environment
|
||||
uses: actions/setup-go@v2.2.0
|
||||
with:
|
||||
go-version: '~1.20.7'
|
||||
go-version: '~1.21.10'
|
||||
- name: Mac Cache Go Mod Volumes
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
|
@ -1,5 +1,5 @@
|
||||
run:
|
||||
go: "1.20"
|
||||
go: "1.21"
|
||||
skip-dirs:
|
||||
- build
|
||||
- configs
|
||||
|
@ -104,7 +104,7 @@ You can use Vscode to integrate C++ and Go together. Please replace user.setting
|
||||
Linux systems (Recommend Ubuntu 20.04 or later):
|
||||
|
||||
```bash
|
||||
go: >= 1.20
|
||||
go: >= 1.21
|
||||
cmake: >= 3.18
|
||||
gcc: 7.5
|
||||
conan: 1.61
|
||||
@ -113,7 +113,7 @@ conan: 1.61
|
||||
MacOS systems with x86_64 (Big Sur 11.5 or later recommended):
|
||||
|
||||
```bash
|
||||
go: >= 1.20
|
||||
go: >= 1.21
|
||||
cmake: >= 3.18
|
||||
llvm: >= 15
|
||||
conan: 1.61
|
||||
@ -122,7 +122,7 @@ conan: 1.61
|
||||
MacOS systems with Apple Silicon (Monterey 12.0.1 or later recommended):
|
||||
|
||||
```bash
|
||||
go: >= 1.20 (Arch=ARM64)
|
||||
go: >= 1.21 (Arch=ARM64)
|
||||
cmake: >= 3.18
|
||||
llvm: >= 15
|
||||
conan: 1.61
|
||||
@ -178,7 +178,7 @@ Confirm that your `GOPATH` and `GOBIN` environment variables are correctly set a
|
||||
```shell
|
||||
$ go version
|
||||
```
|
||||
Note: go >= 1.20 is required to build Milvus.
|
||||
Note: go >= 1.21 is required to build Milvus.
|
||||
|
||||
#### Docker & Docker Compose
|
||||
|
||||
@ -239,8 +239,8 @@ pip3 install conan==1.61.0
|
||||
#### Install GO 1.80
|
||||
|
||||
```bash
|
||||
wget https://go.dev/dl/go1.18.10.linux-arm64.tar.gz
|
||||
tar zxf go1.18.10.linux-arm64.tar.gz
|
||||
wget https://go.dev/dl/go1.21.10.linux-arm64.tar.gz
|
||||
tar zxf go1.21.10.linux-arm64.tar.gz
|
||||
mv ./go /usr/local
|
||||
vi /etc/profile
|
||||
export PATH=$PATH:/usr/local/go/bin
|
||||
|
15
Makefile
15
Makefile
@ -17,6 +17,7 @@ OBJPREFIX := "github.com/milvus-io/milvus/cmd/milvus"
|
||||
|
||||
INSTALL_PATH := $(PWD)/bin
|
||||
LIBRARY_PATH := $(PWD)/lib
|
||||
PGO_PATH := $(PWD)/configs/pgo
|
||||
OS := $(shell uname -s)
|
||||
mode = Release
|
||||
|
||||
@ -72,14 +73,14 @@ milvus: build-cpp print-build-info
|
||||
@echo "Building Milvus ..."
|
||||
@source $(PWD)/scripts/setenv.sh && \
|
||||
mkdir -p $(INSTALL_PATH) && go env -w CGO_ENABLED="1" && \
|
||||
GO111MODULE=on $(GO) build -ldflags="-r $${RPATH} -X '$(OBJPREFIX).BuildTags=$(BUILD_TAGS)' -X '$(OBJPREFIX).BuildTime=$(BUILD_TIME)' -X '$(OBJPREFIX).GitCommit=$(GIT_COMMIT)' -X '$(OBJPREFIX).GoVersion=$(GO_VERSION)'" \
|
||||
GO111MODULE=on $(GO) build -pgo=$(PGO_PATH)/default.pgo -ldflags="-r $${RPATH} -X '$(OBJPREFIX).BuildTags=$(BUILD_TAGS)' -X '$(OBJPREFIX).BuildTime=$(BUILD_TIME)' -X '$(OBJPREFIX).GitCommit=$(GIT_COMMIT)' -X '$(OBJPREFIX).GoVersion=$(GO_VERSION)'" \
|
||||
-tags dynamic -o $(INSTALL_PATH)/milvus $(PWD)/cmd/main.go 1>/dev/null
|
||||
|
||||
milvus-gpu: build-cpp-gpu print-gpu-build-info
|
||||
@echo "Building Milvus-gpu ..."
|
||||
@source $(PWD)/scripts/setenv.sh && \
|
||||
mkdir -p $(INSTALL_PATH) && go env -w CGO_ENABLED="1" && \
|
||||
GO111MODULE=on $(GO) build -ldflags="-r $${RPATH} -X '$(OBJPREFIX).BuildTags=$(BUILD_TAGS_GPU)' -X '$(OBJPREFIX).BuildTime=$(BUILD_TIME)' -X '$(OBJPREFIX).GitCommit=$(GIT_COMMIT)' -X '$(OBJPREFIX).GoVersion=$(GO_VERSION)'" \
|
||||
GO111MODULE=on $(GO) build -pgo=$(PGO_PATH)/default.pgo -ldflags="-r $${RPATH} -X '$(OBJPREFIX).BuildTags=$(BUILD_TAGS_GPU)' -X '$(OBJPREFIX).BuildTime=$(BUILD_TIME)' -X '$(OBJPREFIX).GitCommit=$(GIT_COMMIT)' -X '$(OBJPREFIX).GoVersion=$(GO_VERSION)'" \
|
||||
-tags dynamic -o $(INSTALL_PATH)/milvus $(PWD)/cmd/main.go 1>/dev/null
|
||||
|
||||
get-build-deps:
|
||||
@ -106,7 +107,7 @@ getdeps:
|
||||
|
||||
tools/bin/revive: tools/check/go.mod
|
||||
cd tools/check; \
|
||||
$(GO) build -o ../bin/revive github.com/mgechev/revive
|
||||
$(GO) build -pgo=$(PGO_PATH)/default.pgo -o ../bin/revive github.com/mgechev/revive
|
||||
|
||||
cppcheck:
|
||||
@#(env bash ${PWD}/scripts/core_build.sh -l)
|
||||
@ -164,14 +165,14 @@ binlog:
|
||||
@echo "Building binlog ..."
|
||||
@source $(PWD)/scripts/setenv.sh && \
|
||||
mkdir -p $(INSTALL_PATH) && go env -w CGO_ENABLED="1" && \
|
||||
GO111MODULE=on $(GO) build -ldflags="-r $${RPATH}" -o $(INSTALL_PATH)/binlog $(PWD)/cmd/tools/binlog/main.go 1>/dev/null
|
||||
GO111MODULE=on $(GO) build -pgo=$(PGO_PATH)/default.pgo -ldflags="-r $${RPATH}" -o $(INSTALL_PATH)/binlog $(PWD)/cmd/tools/binlog/main.go 1>/dev/null
|
||||
|
||||
MIGRATION_PATH = $(PWD)/cmd/tools/migration
|
||||
meta-migration:
|
||||
@echo "Building migration tool ..."
|
||||
@source $(PWD)/scripts/setenv.sh && \
|
||||
mkdir -p $(INSTALL_PATH) && go env -w CGO_ENABLED="1" && \
|
||||
GO111MODULE=on $(GO) build -ldflags="-r $${RPATH} -X '$(OBJPREFIX).BuildTags=$(BUILD_TAGS)' -X '$(OBJPREFIX).BuildTime=$(BUILD_TIME)' -X '$(OBJPREFIX).GitCommit=$(GIT_COMMIT)' -X '$(OBJPREFIX).GoVersion=$(GO_VERSION)'" \
|
||||
GO111MODULE=on $(GO) build -pgo=$(PGO_PATH)/default.pgo -ldflags="-r $${RPATH} -X '$(OBJPREFIX).BuildTags=$(BUILD_TAGS)' -X '$(OBJPREFIX).BuildTime=$(BUILD_TIME)' -X '$(OBJPREFIX).GitCommit=$(GIT_COMMIT)' -X '$(OBJPREFIX).GoVersion=$(GO_VERSION)'" \
|
||||
-tags dynamic -o $(INSTALL_PATH)/meta-migration $(MIGRATION_PATH)/main.go 1>/dev/null
|
||||
|
||||
INTERATION_PATH = $(PWD)/tests/integration
|
||||
@ -366,7 +367,7 @@ clean:
|
||||
milvus-tools: print-build-info
|
||||
@echo "Building tools ..."
|
||||
@mkdir -p $(INSTALL_PATH)/tools && go env -w CGO_ENABLED="1" && GO111MODULE=on $(GO) build \
|
||||
-ldflags="-X 'main.BuildTags=$(BUILD_TAGS)' -X 'main.BuildTime=$(BUILD_TIME)' -X 'main.GitCommit=$(GIT_COMMIT)' -X 'main.GoVersion=$(GO_VERSION)'" \
|
||||
-pgo=$(PGO_PATH)/default.pgo -ldflags="-X 'main.BuildTags=$(BUILD_TAGS)' -X 'main.BuildTime=$(BUILD_TIME)' -X 'main.GitCommit=$(GIT_COMMIT)' -X 'main.GoVersion=$(GO_VERSION)'" \
|
||||
-o $(INSTALL_PATH)/tools $(PWD)/cmd/tools/* 1>/dev/null
|
||||
|
||||
rpm-setup:
|
||||
@ -514,5 +515,5 @@ mmap-migration:
|
||||
@echo "Building migration tool ..."
|
||||
@source $(PWD)/scripts/setenv.sh && \
|
||||
mkdir -p $(INSTALL_PATH) && go env -w CGO_ENABLED="1" && \
|
||||
GO111MODULE=on $(GO) build -ldflags="-r $${RPATH} -X '$(OBJPREFIX).BuildTags=$(BUILD_TAGS)' -X '$(OBJPREFIX).BuildTime=$(BUILD_TIME)' -X '$(OBJPREFIX).GitCommit=$(GIT_COMMIT)' -X '$(OBJPREFIX).GoVersion=$(GO_VERSION)'" \
|
||||
GO111MODULE=on $(GO) build -pgo=$(PGO_PATH)/default.pgo -ldflags="-r $${RPATH} -X '$(OBJPREFIX).BuildTags=$(BUILD_TAGS)' -X '$(OBJPREFIX).BuildTime=$(BUILD_TIME)' -X '$(OBJPREFIX).GitCommit=$(GIT_COMMIT)' -X '$(OBJPREFIX).GoVersion=$(GO_VERSION)'" \
|
||||
-tags dynamic -o $(INSTALL_PATH)/mmap-migration $(MMAP_MIGRATION_PATH)/main.go 1>/dev/null
|
@ -72,21 +72,21 @@ Check the requirements first.
|
||||
|
||||
Linux systems (Ubuntu 20.04 or later recommended):
|
||||
```bash
|
||||
go: >= 1.20
|
||||
go: >= 1.21
|
||||
cmake: >= 3.26.4
|
||||
gcc: 7.5
|
||||
```
|
||||
|
||||
MacOS systems with x86_64 (Big Sur 11.5 or later recommended):
|
||||
```bash
|
||||
go: >= 1.20
|
||||
go: >= 1.21
|
||||
cmake: >= 3.26.4
|
||||
llvm: >= 15
|
||||
```
|
||||
|
||||
MacOS systems with Apple Silicon (Monterey 12.0.1 or later recommended):
|
||||
```bash
|
||||
go: >= 1.20 (Arch=ARM64)
|
||||
go: >= 1.21 (Arch=ARM64)
|
||||
cmake: >= 3.26.4
|
||||
llvm: >= 15
|
||||
```
|
||||
|
@ -68,7 +68,7 @@ Milvus 基于 [Apache 2.0 License](https://github.com/milvus-io/milvus/blob/mast
|
||||
请先安装相关依赖。
|
||||
|
||||
```
|
||||
go: 1.20
|
||||
go: 1.21
|
||||
cmake: >=3.18
|
||||
gcc: 7.5
|
||||
protobuf: >=3.7
|
||||
|
@ -14,10 +14,19 @@ FROM amazonlinux:2023
|
||||
ARG TARGETARCH
|
||||
|
||||
RUN dnf install -y wget g++ gcc gdb libatomic libstdc++-static ninja-build git make zip unzip tar which \
|
||||
autoconf automake golang python3 python3-pip perl-FindBin texinfo \
|
||||
autoconf automake python3 python3-pip perl-FindBin texinfo \
|
||||
pkg-config libuuid-devel libaio perl-IPC-Cmd libasan openblas-devel && \
|
||||
rm -rf /var/cache/yum/*
|
||||
|
||||
ENV GOPATH /go
|
||||
ENV GOROOT /usr/local/go
|
||||
ENV GO111MODULE on
|
||||
ENV PATH $GOPATH/bin:$GOROOT/bin:$PATH
|
||||
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.21.10.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go && \
|
||||
mkdir -p "$GOPATH/src" "$GOPATH/bin" && \
|
||||
go clean --modcache && \
|
||||
chmod -R 777 "$GOPATH" && chmod -R a+w $(go env GOTOOLDIR)
|
||||
|
||||
RUN pip3 install conan==1.61.0
|
||||
|
||||
RUN echo "target arch $TARGETARCH"
|
||||
@ -35,9 +44,9 @@ RUN /opt/vcpkg/bootstrap-vcpkg.sh -disableMetrics && ln -s /opt/vcpkg/vcpkg /usr
|
||||
RUN vcpkg install azure-identity-cpp azure-storage-blobs-cpp gtest --only-downloads
|
||||
|
||||
RUN mkdir /tmp/ccache && cd /tmp/ccache &&\
|
||||
wget https://dl.fedoraproject.org/pub/epel/9/Everything/`uname -m`/Packages/h/hiredis-1.0.2-1.el9.`uname -m`.rpm &&\
|
||||
wget https://dl.fedoraproject.org/pub/epel/9/Everything/`uname -m`/Packages/h/hiredis-1.0.2-2.el9.`uname -m`.rpm &&\
|
||||
wget https://dl.fedoraproject.org/pub/epel/9/Everything/`uname -m`/Packages/c/ccache-4.5.1-2.el9.`uname -m`.rpm &&\
|
||||
rpm -i hiredis-1.0.2-1.el9.`uname -m`.rpm ccache-4.5.1-2.el9.`uname -m`.rpm &&\
|
||||
rpm -i hiredis-1.0.2-2.el9.`uname -m`.rpm ccache-4.5.1-2.el9.`uname -m`.rpm &&\
|
||||
rm -rf /tmp/ccache
|
||||
|
||||
|
||||
|
@ -43,7 +43,7 @@ RUN dnf -y update && \
|
||||
|
||||
|
||||
RUN pip3 install conan==1.61.0
|
||||
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.20.7.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go
|
||||
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.21.10.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go
|
||||
RUN curl https://sh.rustup.rs -sSf | \
|
||||
sh -s -- --default-toolchain=1.73 -y
|
||||
|
||||
|
@ -40,7 +40,7 @@ ENV GOPATH /go
|
||||
ENV GOROOT /usr/local/go
|
||||
ENV GO111MODULE on
|
||||
ENV PATH $GOPATH/bin:$GOROOT/bin:$PATH
|
||||
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.20.7.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go && \
|
||||
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.21.10.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go && \
|
||||
mkdir -p "$GOPATH/src" "$GOPATH/bin" && \
|
||||
go clean --modcache && \
|
||||
chmod -R 777 "$GOPATH" && chmod -R a+w $(go env GOTOOLDIR)
|
||||
|
@ -51,7 +51,7 @@ ENV GOPATH /go
|
||||
ENV GOROOT /usr/local/go
|
||||
ENV GO111MODULE on
|
||||
ENV PATH $GOPATH/bin:$GOROOT/bin:$PATH
|
||||
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.20.7.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go && \
|
||||
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.21.10.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go && \
|
||||
mkdir -p "$GOPATH/src" "$GOPATH/bin" && \
|
||||
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b ${GOROOT}/bin v1.46.2 && \
|
||||
# export GO111MODULE=on && go get github.com/quasilyte/go-ruleguard/cmd/ruleguard@v0.2.1 && \
|
||||
|
@ -13,7 +13,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends wget curl ca-ce
|
||||
|
||||
|
||||
# Install go
|
||||
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.20.7.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go
|
||||
RUN mkdir -p /usr/local/go && wget -qO- "https://go.dev/dl/go1.21.10.linux-$TARGETARCH.tar.gz" | tar --strip-components=1 -xz -C /usr/local/go
|
||||
# Install conan
|
||||
RUN pip3 install conan==1.61.0
|
||||
# Install rust
|
||||
|
@ -1,2 +1,2 @@
|
||||
FROM golang:1.20.4-alpine3.17
|
||||
FROM golang:1.21.10-alpine3.19
|
||||
RUN apk add --no-cache make bash
|
@ -1,6 +1,6 @@
|
||||
module github.com/milvus-io/milvus/client/v2
|
||||
|
||||
go 1.20
|
||||
go 1.21
|
||||
|
||||
require (
|
||||
github.com/blang/semver/v4 v4.0.0
|
||||
|
0
configs/pgo/default.pgo
Normal file
0
configs/pgo/default.pgo
Normal file
2
go.mod
2
go.mod
@ -1,6 +1,6 @@
|
||||
module github.com/milvus-io/milvus
|
||||
|
||||
go 1.20
|
||||
go 1.21
|
||||
|
||||
require (
|
||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.7.0
|
||||
|
@ -1,6 +1,6 @@
|
||||
module github.com/milvus-io/milvus/pkg
|
||||
|
||||
go 1.20
|
||||
go 1.21
|
||||
|
||||
require (
|
||||
github.com/apache/pulsar-client-go v0.6.1-0.20210728062540-29414db801a7
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
```
|
||||
OS: Ubuntu 20.04
|
||||
go:1.20
|
||||
go:1.21
|
||||
cmake: >=3.18
|
||||
gcc: 7.5
|
||||
```
|
||||
|
Loading…
Reference in New Issue
Block a user