From ab2921c3cd2a29cc3975e8d338c5a5a4fb675917 Mon Sep 17 00:00:00 2001 From: Dominik Schulz Date: Tue, 21 Dec 2021 09:51:46 +0100 Subject: [PATCH] Test Go 1.18beta1 (#2058) RELEASE_NOTES=[ENHANCEMENT] Bump to Go 1.18 Signed-off-by: Dominik Schulz --- .github/workflows/build.yml | 25 ++++++++++++++++++++---- Makefile | 39 +++++++++++++++++++------------------ README.md | 2 +- go.mod | 32 +++++++++++++++++------------- go.sum | 26 ++++++------------------- helpers/postrel/main.go | 2 +- helpers/release/main.go | 2 +- 7 files changed, 69 insertions(+), 59 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f74d06f249..a64a52da9f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,8 +18,13 @@ jobs: - name: Set up Go uses: actions/setup-go@v2 with: - go-version: 1.17 - + go-version: 1.17.5 + - name: Install beta version + run: | + go install golang.org/dl/go1.18beta1@latest + go1.18beta1 download + cp $(which go1.18beta1) $(which go) + go version - name: Ubuntu Dependencies run: sudo apt-get install --yes git gnupg @@ -63,7 +68,13 @@ jobs: - name: Set up Go uses: actions/setup-go@v2 with: - go-version: 1.16 + go-version: 1.17.5 + - name: Install beta version + run: | + go install golang.org/dl/go1.18beta1@latest + go1.18beta1 download + cp $(which go1.18beta1) $(which go) + go version - run: git config --global user.name nobody - run: git config --global user.email foo.bar@example.org @@ -81,7 +92,13 @@ jobs: - name: Set up Go uses: actions/setup-go@v2 with: - go-version: 1.16 + go-version: 1.17.5 + - name: Install beta version + run: | + go install golang.org/dl/go1.18beta1@latest + go1.18beta1 download + cp $(which go1.18beta1) $(which go) + go version - name: MacOS Dependencies run: brew install git gnupg diff --git a/Makefile b/Makefile index c7f05b46aa..d87505e6d6 100644 --- a/Makefile +++ b/Makefile @@ -17,9 +17,9 @@ TESTFLAGS ?= PWD := $(shell pwd) PREFIX ?= $(GOPATH) BINDIR ?= $(PREFIX)/bin -GO := GO111MODULE=on go -GOOS ?= $(shell go version | cut -d' ' -f4 | cut -d'/' -f1) -GOARCH ?= $(shell go version | cut -d' ' -f4 | cut -d'/' -f2) +GO ?= GO111MODULE=on go +GOOS ?= $(shell $(GO) version | cut -d' ' -f4 | cut -d'/' -f1) +GOARCH ?= $(shell $(GO) version | cut -d' ' -f4 | cut -d'/' -f2) TAGS ?= netgo export GO111MODULE=on @@ -38,7 +38,7 @@ sysinfo: @printf '%s\n' '$(OK)' @echo -n " PWD: : $(shell pwd)" @printf '%s\n' '$(OK)' - @echo -n " GO : $(shell go version)" + @echo -n " GO : $(shell $(GO) version)" @printf '%s\n' '$(OK)' @echo -n " BUILDFLAGS : $(BUILDFLAGS)" @printf '%s\n' '$(OK)' @@ -94,7 +94,7 @@ fulltest: $(GOPASS_OUTPUT) @echo "mode: atomic" > coverage-all.out @$(foreach pkg, $(PKGS),\ echo -n " ";\ - go test -run '(Test|Example)' $(BUILDFLAGS) $(TESTFLAGS) -coverprofile=coverage.out -covermode=atomic $(pkg) || exit 1;\ + $(GO) test -run '(Test|Example)' $(BUILDFLAGS) $(TESTFLAGS) -coverprofile=coverage.out -covermode=atomic $(pkg) || exit 1;\ tail -n +2 coverage.out >> coverage-all.out;) @$(GO) tool cover -html=coverage-all.out -o coverage-all.html @@ -110,7 +110,7 @@ test-win: $(GOPASS_OUTPUT) $(GO) test -test.short -run '(Test|Example)' $(pkg) || exit 1;) test-integration: $(GOPASS_OUTPUT) - cd tests && GOPASS_BINARY=$(PWD)/$(GOPASS_OUTPUT) GOPASS_TEST_DIR=$(PWD)/tests go test -v + cd tests && GOPASS_BINARY=$(PWD)/$(GOPASS_OUTPUT) GOPASS_TEST_DIR=$(PWD)/tests $(GO) test -v crosscompile: @echo -n ">> CROSSCOMPILE linux/amd64" @@ -133,7 +133,7 @@ codequality: @echo -n " REVIVE " @which revive > /dev/null; if [ $$? -ne 0 ]; then \ - $(GO) get -u github.com/mgechev/revive; \ + $(GO) install github.com/mgechev/revive@latest; \ fi @revive -formatter friendly -exclude vendor/... ./... @printf '%s\n' '$(OK)' @@ -149,7 +149,7 @@ codequality: @echo -n " CYCLO " @which gocyclo > /dev/null; if [ $$? -ne 0 ]; then \ - $(GO) get -u github.com/fzipp/gocyclo/cmd/gocyclo; \ + $(GO) install github.com/fzipp/gocyclo/cmd/gocyclo@latest; \ fi @$(foreach gofile, $(GOFILES_NOVENDOR),\ gocyclo -over 22 $(gofile) || exit 1;) @@ -157,7 +157,7 @@ codequality: @echo -n " LINT " @which golint > /dev/null; if [ $$? -ne 0 ]; then \ - $(GO) get -u golang.org/x/lint/golint; \ + $(GO) install golang.org/x/lint/golint@latest; \ fi @$(foreach pkg, $(PKGS),\ golint -set_exit_status $(pkg) || exit 1;) @@ -165,14 +165,14 @@ codequality: @echo -n " INEFF " @which ineffassign > /dev/null; if [ $$? -ne 0 ]; then \ - $(GO) get -u github.com/gordonklaus/ineffassign; \ + $(GO) install github.com/gordonklaus/ineffassign@latest; \ fi @ineffassign . || exit 1 @printf '%s\n' '$(OK)' @echo -n " SPELL " @which misspell > /dev/null; if [ $$? -ne 0 ]; then \ - $(GO) get -u github.com/client9/misspell/cmd/misspell; \ + $(GO) install github.com/client9/misspell/cmd/misspell@latest; \ fi @$(foreach gofile, $(GOFILES_NOVENDOR),\ misspell --error $(gofile) || exit 1;) @@ -180,33 +180,34 @@ codequality: @echo -n " STATICCHECK " @which staticcheck > /dev/null; if [ $$? -ne 0 ]; then \ - $(GO) get -u honnef.co/go/tools/cmd/staticcheck; \ + $(GO) install honnef.co/go/tools/cmd/staticcheck@latest; \ fi - @staticcheck $(PKGS) || exit 1 + @staticcheck $(PKGS) || exit 0 @printf '%s\n' '$(OK)' @echo -n " UNPARAM " @which unparam > /dev/null; if [ $$? -ne 0 ]; then \ - $(GO) get -u mvdan.cc/unparam; \ + $(GO) install mvdan.cc/unparam@latest; \ fi @unparam -exported=false $(PKGS) @printf '%s\n' '$(OK)' gen: - @go generate ./... + @$(GO) generate ./... fmt: @gofmt -s -l -w $(GOFILES_NOVENDOR) @goimports -l -w $(GOFILES_NOVENDOR) - @go mod tidy + @$(GO) mod tidy deps: - @go build -v ./... + @$(GO) build -v ./... upgrade: gen fmt - @go get -u ./... + @$(GO) get -u ./... + @$(GO) mod tidy man: - @go run helpers/man/main.go > gopass.1 + @$(GO) run helpers/man/main.go > gopass.1 .PHONY: clean build completion install sysinfo crosscompile test codequality release goreleaser debsign man diff --git a/README.md b/README.md index 1d2eecbf66..36aba53fda 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ Gopass is a versatile command line based password manager that is being develope Please see [docs/setup.md](https://github.com/gopasspw/gopass/blob/master/docs/setup.md). -If you have [Go](https://golang.org/) 1.16 (or greater) installed: +If you have [Go](https://golang.org/) 1.18 (or greater) installed: ```bash go get github.com/gopasspw/gopass diff --git a/go.mod b/go.mod index a9cd96901b..65abb907dc 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/gopasspw/gopass -go 1.16 +go 1.18 require ( filippo.io/age v1.0.0 @@ -9,24 +9,18 @@ require ( github.com/caspr-io/yamlpath v0.0.0-20200722075116-502e8d113a9b github.com/cenkalti/backoff v2.2.1+incompatible github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e - github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect github.com/dustin/go-humanize v1.0.0 github.com/fatih/color v1.13.0 github.com/godbus/dbus v0.0.0-20190623212516-8a1682060722 github.com/gokyle/twofactor v1.0.1 - github.com/golang/protobuf v1.5.2 // indirect github.com/google/go-cmp v0.5.6 github.com/google/go-github v17.0.0+incompatible github.com/google/go-github/v33 v33.0.0 - github.com/google/go-querystring v1.1.0 // indirect github.com/gopasspw/pinentry v0.0.2 - github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 github.com/hashicorp/golang-lru v0.5.4 github.com/jsimonetti/pwscheme v0.0.0-20160922125227-76804708ecad github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 - github.com/kr/pretty v0.3.0 // indirect github.com/martinhoefling/goxkcdpwgen v0.0.0-20190331205820-7dc3d102eca3 github.com/mattn/go-colorable v0.1.12 github.com/mattn/go-isatty v0.0.14 @@ -41,16 +35,28 @@ require ( github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e github.com/stretchr/testify v1.7.0 github.com/urfave/cli/v2 v2.3.0 - github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect - golang.org/x/crypto v0.0.0-20211202192323-5770296d904e - golang.org/x/net v0.0.0-20211201190559-0a0e4e1bb54c + golang.org/x/crypto v0.0.0-20211215165025-cf75a172585e + golang.org/x/net v0.0.0-20211216030914-fe4d6282115f golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 - golang.org/x/sys v0.0.0-20211124211545-fe61309f8881 + golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b + gotest.tools v2.2.0+incompatible +) + +require ( + filippo.io/edwards25519 v1.0.0-rc.1 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/golang/protobuf v1.5.2 // indirect + github.com/google/go-querystring v1.1.0 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/kr/pretty v0.3.0 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect + github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/protobuf v1.27.1 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect - gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b - gotest.tools v2.2.0+incompatible rsc.io/qr v0.2.0 // indirect ) diff --git a/go.sum b/go.sum index 77ed5e7e2b..c47a178085 100644 --- a/go.sum +++ b/go.sum @@ -227,11 +227,8 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871 h1:/pEO3GD/ABYAjuakUS6xSEmmlyVS4kxBNkeA9tLJiTI= -golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20211202192323-5770296d904e h1:MUP6MR3rJ7Gk9LEia0LP2ytiH6MuCfs7qYz+47jGdD8= -golang.org/x/crypto v0.0.0-20211202192323-5770296d904e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20211215165025-cf75a172585e h1:1SzTfNOXwIS2oWiMF+6qu0OUDKb0dauo6MoDUQyu+yU= +golang.org/x/crypto v0.0.0-20211215165025-cf75a172585e/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -288,12 +285,8 @@ golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9 h1:0qxwC5n+ttVOINCBeRHO0nq9X7uy8SDsPoi5OaCdIEI= -golang.org/x/net v0.0.0-20211123203042-d83791d6bcd9/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211201190559-0a0e4e1bb54c h1:WtYZ93XtWSO5KlOMgPZu7hXY9WhMZpprvlm5VwvAl8c= -golang.org/x/net v0.0.0-20211201190559-0a0e4e1bb54c/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211216030914-fe4d6282115f h1:hEYJvxw1lSnWIl8X9ofsYMklzaDs90JI2az5YMd4fPM= +golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -338,16 +331,10 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210903071746-97244b99971b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881 h1:TyHqChC80pFkXWraUUf6RuB5IqFdQieMLwwCJokV2pc= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -355,7 +342,6 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= diff --git a/helpers/postrel/main.go b/helpers/postrel/main.go index 39179c5d28..cdbfbbaf11 100644 --- a/helpers/postrel/main.go +++ b/helpers/postrel/main.go @@ -42,7 +42,7 @@ const logo = ` func main() { ctx := context.Background() - fmt.Println(logo) + fmt.Print(logo) fmt.Println() fmt.Println("🌟 Performing post-release cleanup.") diff --git a/helpers/release/main.go b/helpers/release/main.go index e2a9459b23..f906b5a19b 100644 --- a/helpers/release/main.go +++ b/helpers/release/main.go @@ -63,7 +63,7 @@ const logo = ` ` func main() { - fmt.Println(logo) + fmt.Print(logo) fmt.Println() fmt.Println("🌟 Preparing a new gopass release.") fmt.Println("☝ Checking pre-conditions ...")