From c7fd5bf908ff152476b848c51d2fc2d927145cd1 Mon Sep 17 00:00:00 2001 From: Qinqi Qu Date: Thu, 26 Oct 2023 15:30:42 +0800 Subject: [PATCH 1/2] contrib: upgrade to go 1.20 Keep consistent with other components in container ecosystem, for example containerd is using go 1.20. Signed-off-by: Qinqi Qu --- .github/workflows/benchmark.yml | 2 +- .github/workflows/convert.yml | 2 +- .github/workflows/integration.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/smoke.yml | 4 ++-- Makefile | 2 +- contrib/ctr-remote/go.mod | 2 +- contrib/nydus-overlayfs/go.mod | 2 +- contrib/nydus-test/misc/containerize/Dockerfile | 4 ++-- contrib/nydusify/go.mod | 2 +- smoke/go.mod | 2 +- 11 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index ff44a3cacd7..cd96b50a75a 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -22,7 +22,7 @@ jobs: - name: Setup Golang uses: actions/setup-go@v3 with: - go-version: ~1.18 + go-version: ~1.20 - name: Golang Cache uses: actions/cache@v3 with: diff --git a/.github/workflows/convert.yml b/.github/workflows/convert.yml index 05d4c547b3c..077c23b0584 100644 --- a/.github/workflows/convert.yml +++ b/.github/workflows/convert.yml @@ -22,7 +22,7 @@ jobs: - name: Setup Golang uses: actions/setup-go@v3 with: - go-version: ~1.18 + go-version: ~1.20 - name: Golang Cache uses: actions/cache@v3 with: diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index 5b1322ecef7..1da833f5d3f 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -19,7 +19,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v3 with: - go-version: 1.18 + go-version: 1.20 - name: Setup pytest run: | sudo apt-get update diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cc1f2b1a3d5..84b179ce2a2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -94,7 +94,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-go@v3 with: - go-version: '1.18' + go-version: '1.20' - name: cache go mod uses: actions/cache@v3 with: diff --git a/.github/workflows/smoke.yml b/.github/workflows/smoke.yml index 7618ba08830..4cc7573eeb7 100644 --- a/.github/workflows/smoke.yml +++ b/.github/workflows/smoke.yml @@ -26,7 +26,7 @@ jobs: - name: Setup Golang uses: actions/setup-go@v3 with: - go-version: ~1.18 + go-version: ~1.20 - name: Golang Cache uses: actions/cache@v3 with: @@ -58,7 +58,7 @@ jobs: - name: Setup Golang uses: actions/setup-go@v3 with: - go-version: ~1.18 + go-version: ~1.20 - name: Golang Cache uses: actions/cache@v3 with: diff --git a/Makefile b/Makefile index 248b883a8d4..f026280d7ac 100644 --- a/Makefile +++ b/Makefile @@ -67,7 +67,7 @@ dind_cache_mount := $(if $(DIND_CACHE_DIR),-v $(DIND_CACHE_DIR):/var/lib/docker, define build_golang echo "Building target $@ by invoking: $(2)" if [ $(DOCKER) = "true" ]; then \ - docker run --rm -v ${go_path}:/go -v ${current_dir}:/nydus-rs --workdir /nydus-rs/$(1) golang:1.18 $(2) ;\ + docker run --rm -v ${go_path}:/go -v ${current_dir}:/nydus-rs --workdir /nydus-rs/$(1) golang:1.20 $(2) ;\ else \ $(2) -C $(1); \ fi diff --git a/contrib/ctr-remote/go.mod b/contrib/ctr-remote/go.mod index 57644409bd9..cebcd0faa87 100644 --- a/contrib/ctr-remote/go.mod +++ b/contrib/ctr-remote/go.mod @@ -1,6 +1,6 @@ module github.com/dragonflyoss/image-service/contrib/ctr-remote -go 1.18 +go 1.20 require ( github.com/containerd/containerd v1.7.0 diff --git a/contrib/nydus-overlayfs/go.mod b/contrib/nydus-overlayfs/go.mod index f5829ab85a9..01fd9b047e6 100644 --- a/contrib/nydus-overlayfs/go.mod +++ b/contrib/nydus-overlayfs/go.mod @@ -1,6 +1,6 @@ module github.com/dragonflyoss/image-service/contrib/nydus-overlayfs -go 1.18 +go 1.20 require ( github.com/pkg/errors v0.9.1 diff --git a/contrib/nydus-test/misc/containerize/Dockerfile b/contrib/nydus-test/misc/containerize/Dockerfile index 11167962e44..78f92ddd2a5 100644 --- a/contrib/nydus-test/misc/containerize/Dockerfile +++ b/contrib/nydus-test/misc/containerize/Dockerfile @@ -25,8 +25,8 @@ RUN wget https://github.com/opencontainers/runc/releases/download/v1.1.2/runc.am RUN chmod +x /usr/bin/*; chmod +x /usr/bin/runc # Install golang -RUN wget https://go.dev/dl/go1.18.1.linux-amd64.tar.gz -O /home/go1.18.1.linux-amd64.tar.gz -RUN tar -C /usr/local -xzf /home/go1.18.1.linux-amd64.tar.gz +RUN wget https://go.dev/dl/go1.20.10.linux-amd64.tar.gz -O /home/go1.20.10.linux-amd64.tar.gz +RUN tar -C /usr/local -xzf /home/go1.20.10.linux-amd64.tar.gz ENV PATH $PATH:/usr/local/go/bin RUN mkdir /root/go RUN rm -rf /home/* diff --git a/contrib/nydusify/go.mod b/contrib/nydusify/go.mod index acd9b4d5355..853d7368efb 100644 --- a/contrib/nydusify/go.mod +++ b/contrib/nydusify/go.mod @@ -1,6 +1,6 @@ module github.com/dragonflyoss/image-service/contrib/nydusify -go 1.18 +go 1.20 require ( github.com/aliyun/aliyun-oss-go-sdk v2.2.6+incompatible diff --git a/smoke/go.mod b/smoke/go.mod index b8860c05442..8612f12709a 100644 --- a/smoke/go.mod +++ b/smoke/go.mod @@ -1,6 +1,6 @@ module github.com/dragonflyoss/image-service/smoke -go 1.18 +go 1.20 require ( github.com/containerd/containerd v1.7.0 From a4273dda817834e82246d94afd57cdc638515b21 Mon Sep 17 00:00:00 2001 From: Qinqi Qu Date: Thu, 26 Oct 2023 15:49:28 +0800 Subject: [PATCH 2/2] smoke: replaces the io/ioutil API which was deprecated in go 1.19 Signed-off-by: Qinqi Qu --- contrib/nydusify/cmd/nydusify_test.go | 3 +-- smoke/tests/api_test.go | 4 ++-- smoke/tests/blobcache_test.go | 3 +-- smoke/tests/tool/context.go | 3 +-- smoke/tests/tool/layer.go | 9 ++++----- smoke/tests/tool/nydusd.go | 3 +-- 6 files changed, 10 insertions(+), 15 deletions(-) diff --git a/contrib/nydusify/cmd/nydusify_test.go b/contrib/nydusify/cmd/nydusify_test.go index 2ffd572cb3a..019be92fa2c 100644 --- a/contrib/nydusify/cmd/nydusify_test.go +++ b/contrib/nydusify/cmd/nydusify_test.go @@ -6,7 +6,6 @@ package main import ( "encoding/json" - "io/ioutil" "os" "testing" @@ -50,7 +49,7 @@ func TestParseBackendConfig(t *testing.T) { }` require.True(t, json.Valid([]byte(configJSON))) - file, err := ioutil.TempFile("", "nydusify-backend-config-test.json") + file, err := os.CreateTemp("", "nydusify-backend-config-test.json") require.NoError(t, err) defer os.RemoveAll(file.Name()) diff --git a/smoke/tests/api_test.go b/smoke/tests/api_test.go index a05ac84f86c..a48a8b9f50e 100644 --- a/smoke/tests/api_test.go +++ b/smoke/tests/api_test.go @@ -7,7 +7,7 @@ package tests import ( "context" "fmt" - "io/ioutil" + "io" "os" "path/filepath" "testing" @@ -231,7 +231,7 @@ func (a *APIV1TestSuite) visit(path string) error { } defer f.Close() - ioutil.ReadAll(f) + io.ReadAll(f) return nil } diff --git a/smoke/tests/blobcache_test.go b/smoke/tests/blobcache_test.go index 36ba897c540..b45eb039bbb 100644 --- a/smoke/tests/blobcache_test.go +++ b/smoke/tests/blobcache_test.go @@ -4,7 +4,6 @@ import ( "fmt" "io" "io/fs" - "io/ioutil" "os" "path/filepath" "testing" @@ -47,7 +46,7 @@ func (a *BlobCacheTestSuite) prepareTestEnv(t *testing.T) (*tool.Context, string rootfsReader := rootFs.ToOCITar(t) ociBlobDigester := digest.Canonical.Digester() - ociBlob, err := ioutil.TempFile(ctx.Env.BlobDir, "oci-blob-") + ociBlob, err := os.CreateTemp(ctx.Env.BlobDir, "oci-blob-") require.NoError(t, err) _, err = io.Copy(io.MultiWriter(ociBlobDigester.Hash(), ociBlob), rootfsReader) diff --git a/smoke/tests/tool/context.go b/smoke/tests/tool/context.go index 703613be264..7d409d3b996 100644 --- a/smoke/tests/tool/context.go +++ b/smoke/tests/tool/context.go @@ -5,7 +5,6 @@ package tool import ( - "io/ioutil" "os" "path/filepath" "testing" @@ -86,7 +85,7 @@ func (ctx *Context) PrepareWorkDir(t *testing.T) { if tempDir == "" { tempDir = os.TempDir() } - workDir, err := ioutil.TempDir(tempDir, "nydus-smoke-") + workDir, err := os.MkdirTemp(tempDir, "nydus-smoke-") require.NoError(t, err) blobDir := filepath.Join(workDir, "blobs") diff --git a/smoke/tests/tool/layer.go b/smoke/tests/tool/layer.go index 452c6584f65..0c0956ffec2 100644 --- a/smoke/tests/tool/layer.go +++ b/smoke/tests/tool/layer.go @@ -10,7 +10,6 @@ import ( "context" "crypto/rand" "io" - "io/ioutil" "os" "path/filepath" "strings" @@ -121,7 +120,7 @@ func (l *Layer) Pack(t *testing.T, packOption converter.PackOption, blobDir stri l.recordFileTree(t) // Pack OCI tar to nydus native blob - blob, err := ioutil.TempFile(blobDir, "blob-") + blob, err := os.CreateTemp(blobDir, "blob-") require.NoError(t, err) defer blob.Close() blobDigester := digest.Canonical.Digester() @@ -160,7 +159,7 @@ func (l *Layer) PackRef(t *testing.T, ctx Context, blobDir string, compress bool } // Pack OCI blob to nydus zran blob - rafsBlob, err := ioutil.TempFile(blobDir, "rafs-blob-") + rafsBlob, err := os.CreateTemp(blobDir, "rafs-blob-") require.NoError(t, err) defer rafsBlob.Close() rafsBlobDigester := digest.Canonical.Digester() @@ -172,7 +171,7 @@ func (l *Layer) PackRef(t *testing.T, ctx Context, blobDir string, compress bool require.NoError(t, err) ociBlobDigester := digest.Canonical.Digester() - ociBlob, err := ioutil.TempFile(blobDir, "oci-blob-") + ociBlob, err := os.CreateTemp(blobDir, "oci-blob-") require.NoError(t, err) _, err = io.Copy(io.MultiWriter(twc, ociBlobDigester.Hash(), ociBlob), ociBlobReader) @@ -250,7 +249,7 @@ func MergeLayers(t *testing.T, ctx Context, mergeOption converter.MergeOption, l layers[idx].ReaderAt = ra } - bootstrap, err := ioutil.TempFile(ctx.Env.WorkDir, "bootstrap-") + bootstrap, err := os.CreateTemp(ctx.Env.WorkDir, "bootstrap-") require.NoError(t, err) defer bootstrap.Close() actualDigests, err := converter.Merge(context.Background(), layers, bootstrap, mergeOption) diff --git a/smoke/tests/tool/nydusd.go b/smoke/tests/tool/nydusd.go index adfae105743..a56b85aeeb0 100644 --- a/smoke/tests/tool/nydusd.go +++ b/smoke/tests/tool/nydusd.go @@ -10,7 +10,6 @@ import ( "encoding/json" "fmt" "io" - "io/ioutil" "net" "net/http" "os" @@ -246,7 +245,7 @@ func (nydusd *Nydusd) MountByAPI(config NydusdConfig) error { return err } defer f.Close() - rafsConfig, err := ioutil.ReadAll(f) + rafsConfig, err := io.ReadAll(f) if err != nil { return err }