From ba60984f33676fac258cbebd3088a0c73b3bb717 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Tue, 2 Aug 2022 18:47:43 +0100 Subject: [PATCH] build: update to go1.19 and make go1.17 the minimum required version --- .github/workflows/build.yml | 28 +++++----- cmd/serve/restic/cache.go | 3 - cmd/serve/restic/cache_test.go | 3 - cmd/serve/restic/restic.go | 4 -- cmd/serve/restic/restic_appendonly_test.go | 3 - cmd/serve/restic/restic_privaterepos_test.go | 3 - cmd/serve/restic/restic_test.go | 3 - cmd/serve/restic/restic_unsupported.go | 14 ----- cmd/serve/restic/restic_utils_test.go | 3 - cmd/serve/restic/stdio_conn.go | 3 - docs/content/install.md | 2 +- fs/versioncheck.go | 8 +-- go.mod | 59 +++++++++++++++++++- 13 files changed, 77 insertions(+), 59 deletions(-) delete mode 100644 cmd/serve/restic/restic_unsupported.go diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7d18b0a12..9e4439087 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,12 +25,12 @@ jobs: strategy: fail-fast: false matrix: - job_name: ['linux', 'linux_386', 'mac_amd64', 'mac_arm64', 'windows', 'other_os', 'go1.16', 'go1.17'] + job_name: ['linux', 'linux_386', 'mac_amd64', 'mac_arm64', 'windows', 'other_os', 'go1.17', 'go1.18'] include: - job_name: linux os: ubuntu-latest - go: '1.18.x' + go: '1.19.x' gotags: cmount build_flags: '-include "^linux/"' check: true @@ -41,14 +41,14 @@ jobs: - job_name: linux_386 os: ubuntu-latest - go: '1.18.x' + go: '1.19.x' goarch: 386 gotags: cmount quicktest: true - job_name: mac_amd64 os: macos-11 - go: '1.18.x' + go: '1.19.x' gotags: 'cmount' build_flags: '-include "^darwin/amd64" -cgo' quicktest: true @@ -57,14 +57,14 @@ jobs: - job_name: mac_arm64 os: macos-11 - go: '1.18.x' + go: '1.19.x' gotags: 'cmount' build_flags: '-include "^darwin/arm64" -cgo -macos-arch arm64 -cgo-cflags=-I/usr/local/include -cgo-ldflags=-L/usr/local/lib' deploy: true - job_name: windows os: windows-latest - go: '1.18.x' + go: '1.19.x' gotags: cmount cgo: '0' build_flags: '-include "^windows/"' @@ -74,23 +74,23 @@ jobs: - job_name: other_os os: ubuntu-latest - go: '1.18.x' + go: '1.19.x' build_flags: '-exclude "^(windows/|darwin/|linux/)"' compile_all: true deploy: true - - job_name: go1.16 - os: ubuntu-latest - go: '1.16.x' - quicktest: true - racequicktest: true - - job_name: go1.17 os: ubuntu-latest go: '1.17.x' quicktest: true racequicktest: true + - job_name: go1.18 + os: ubuntu-latest + go: '1.18.x' + quicktest: true + racequicktest: true + name: ${{ matrix.job_name }} runs-on: ${{ matrix.os }} @@ -250,7 +250,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v1 with: - go-version: 1.18.x + go-version: 1.19.x - name: Go module cache uses: actions/cache@v2 diff --git a/cmd/serve/restic/cache.go b/cmd/serve/restic/cache.go index 407823581..f7f376c82 100644 --- a/cmd/serve/restic/cache.go +++ b/cmd/serve/restic/cache.go @@ -1,6 +1,3 @@ -//go:build go1.17 -// +build go1.17 - package restic import ( diff --git a/cmd/serve/restic/cache_test.go b/cmd/serve/restic/cache_test.go index 290768aba..05687ad84 100644 --- a/cmd/serve/restic/cache_test.go +++ b/cmd/serve/restic/cache_test.go @@ -1,6 +1,3 @@ -//go:build go1.17 -// +build go1.17 - package restic import ( diff --git a/cmd/serve/restic/restic.go b/cmd/serve/restic/restic.go index 7139b084b..a0a521bb6 100644 --- a/cmd/serve/restic/restic.go +++ b/cmd/serve/restic/restic.go @@ -1,8 +1,4 @@ // Package restic serves a remote suitable for use with restic - -//go:build go1.17 -// +build go1.17 - package restic import ( diff --git a/cmd/serve/restic/restic_appendonly_test.go b/cmd/serve/restic/restic_appendonly_test.go index c190da329..b3562db9e 100644 --- a/cmd/serve/restic/restic_appendonly_test.go +++ b/cmd/serve/restic/restic_appendonly_test.go @@ -1,6 +1,3 @@ -//go:build go1.17 -// +build go1.17 - package restic import ( diff --git a/cmd/serve/restic/restic_privaterepos_test.go b/cmd/serve/restic/restic_privaterepos_test.go index fd59e181d..4faae363c 100644 --- a/cmd/serve/restic/restic_privaterepos_test.go +++ b/cmd/serve/restic/restic_privaterepos_test.go @@ -1,6 +1,3 @@ -//go:build go1.17 -// +build go1.17 - package restic import ( diff --git a/cmd/serve/restic/restic_test.go b/cmd/serve/restic/restic_test.go index 8e8cccf67..d9f343ca5 100644 --- a/cmd/serve/restic/restic_test.go +++ b/cmd/serve/restic/restic_test.go @@ -1,9 +1,6 @@ // Serve restic tests set up a server and run the integration tests // for restic against it. -//go:build go1.17 -// +build go1.17 - package restic import ( diff --git a/cmd/serve/restic/restic_unsupported.go b/cmd/serve/restic/restic_unsupported.go deleted file mode 100644 index a270482a3..000000000 --- a/cmd/serve/restic/restic_unsupported.go +++ /dev/null @@ -1,14 +0,0 @@ -// Build for restic for unsupported platforms to stop go complaining -// about "no buildable Go source files " - -//go:build !go1.17 -// +build !go1.17 - -package restic - -import ( - "github.com/spf13/cobra" -) - -// Command definition for cobra -var Command *cobra.Command diff --git a/cmd/serve/restic/restic_utils_test.go b/cmd/serve/restic/restic_utils_test.go index 17bbfa2d9..0721f7c0f 100644 --- a/cmd/serve/restic/restic_utils_test.go +++ b/cmd/serve/restic/restic_utils_test.go @@ -1,6 +1,3 @@ -//go:build go1.17 -// +build go1.17 - package restic import ( diff --git a/cmd/serve/restic/stdio_conn.go b/cmd/serve/restic/stdio_conn.go index 3e5160bad..3b411eb0e 100644 --- a/cmd/serve/restic/stdio_conn.go +++ b/cmd/serve/restic/stdio_conn.go @@ -1,6 +1,3 @@ -//go:build go1.17 -// +build go1.17 - package restic import ( diff --git a/docs/content/install.md b/docs/content/install.md index f6fc8a55f..714794f3d 100644 --- a/docs/content/install.md +++ b/docs/content/install.md @@ -191,7 +191,7 @@ kill %1 ## Install from source Make sure you have git and [Go](https://golang.org/) installed. -Go version 1.16 or newer is required, latest release is recommended. +Go version 1.17 or newer is required, latest release is recommended. You can get it from your package manager, or download it from [golang.org/dl](https://golang.org/dl/). Then you can run the following: diff --git a/fs/versioncheck.go b/fs/versioncheck.go index e7b9f7e1c..9820eccad 100644 --- a/fs/versioncheck.go +++ b/fs/versioncheck.go @@ -1,8 +1,8 @@ -//go:build !go1.16 -// +build !go1.16 +//go:build !go1.17 +// +build !go1.17 package fs -// Upgrade to Go version 1.16 to compile rclone - latest stable go +// Upgrade to Go version 1.17 to compile rclone - latest stable go // compiler recommended. -func init() { Go_version_1_16_required_for_compilation() } +func init() { Go_version_1_17_required_for_compilation() } diff --git a/go.mod b/go.mod index 8f301a4df..2ff7f3f13 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/rclone/rclone -go 1.16 +go 1.17 require ( bazil.org/fuse v0.0.0-20200524192727-fb710f7dfd05 @@ -70,6 +70,63 @@ require ( storj.io/uplink v1.9.0 ) +require ( + cloud.google.com/go/compute v1.6.1 // indirect + github.com/Azure/go-autorest v14.2.0+incompatible // indirect + github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect + github.com/Azure/go-autorest/logger v0.2.1 // indirect + github.com/Azure/go-autorest/tracing v0.6.0 // indirect + github.com/anacrolix/log v0.10.1-0.20220126091220-5c1b6f3af59c // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/calebcase/tmpfile v1.0.3 // indirect + github.com/cespare/xxhash/v2 v2.1.2 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/gdamore/encoding v1.0.0 // indirect + github.com/go-ole/go-ole v1.2.6 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/protobuf v1.5.2 // indirect + github.com/googleapis/gax-go/v2 v2.4.0 // indirect + github.com/hashicorp/errwrap v1.0.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/go-uuid v1.0.2 // indirect + github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/jcmturner/aescts/v2 v2.0.0 // indirect + github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect + github.com/jcmturner/gofork v1.0.0 // indirect + github.com/jcmturner/goidentity/v6 v6.0.1 // indirect + github.com/jcmturner/rpc/v2 v2.0.3 // indirect + github.com/jmespath/go-jmespath v0.4.0 // indirect + github.com/kr/fs v0.1.0 // indirect + github.com/lucasb-eyer/go-colorful v1.2.0 // indirect + github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect + github.com/mattn/go-ieproxy v0.0.1 // indirect + github.com/mattn/go-isatty v0.0.14 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect + github.com/onsi/gomega v1.13.0 // indirect + github.com/pengsrc/go-shared v0.2.1-0.20190131101655-1999055a4a14 // indirect + github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect + github.com/prometheus/client_model v0.2.0 // indirect + github.com/prometheus/common v0.32.1 // indirect + github.com/prometheus/procfs v0.7.3 // indirect + github.com/rivo/uniseg v0.2.0 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect + github.com/spacemonkeygo/monkit/v3 v3.0.17 // indirect + github.com/tklauser/go-sysconf v0.3.10 // indirect + github.com/tklauser/numcpus v0.4.0 // indirect + github.com/vivint/infectious v0.0.0-20200605153912-25a574ae18a3 // indirect + github.com/yusufpapurcu/wmi v1.2.2 // indirect + github.com/zeebo/errs v1.3.0 // indirect + go.opencensus.io v0.23.0 // indirect + google.golang.org/appengine v1.6.7 // indirect + google.golang.org/genproto v0.0.0-20220602131408-e326c6e8e9c8 // indirect + google.golang.org/grpc v1.47.0 // indirect + google.golang.org/protobuf v1.28.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect + storj.io/common v0.0.0-20220414110316-a5cb7172d6bf // indirect + storj.io/drpc v0.0.30 // indirect +) + require ( github.com/Microsoft/go-winio v0.5.1 // indirect github.com/ProtonMail/go-crypto v0.0.0-20220623141421-5afb4c282135