From d19bd42323580b34d259354c938a4cd32e8846ed Mon Sep 17 00:00:00 2001 From: Akihiro Suda Date: Sat, 12 Aug 2023 16:02:09 +0900 Subject: [PATCH 1/4] CI: Go 1.21 Signed-off-by: Akihiro Suda --- .github/workflows/main.yml | 2 +- .github/workflows/release.yml | 2 +- go.mod | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 65c9c56..34b4c10 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -9,7 +9,7 @@ jobs: main: strategy: matrix: - go-version: [1.20.x] + go-version: [1.20.x, 1.21.x] platform: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.platform }} steps: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 07cd39a..29f9738 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,7 +10,7 @@ jobs: release: strategy: matrix: - go-version: [1.20.x] + go-version: [1.21.x] os: [ubuntu-22.04] runs-on: ${{ matrix.os }} timeout-minutes: 20 diff --git a/go.mod b/go.mod index 13ec86f..679cdc8 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/lima-vm/sshocker -go 1.19 +go 1.20 require ( github.com/hashicorp/go-multierror v1.1.1 From 7320712af2bcf1b00bc5f687584083af8d11f12d Mon Sep 17 00:00:00 2001 From: Akihiro Suda Date: Sat, 12 Aug 2023 16:02:41 +0900 Subject: [PATCH 2/4] CI: enable Go cache Signed-off-by: Akihiro Suda --- .github/workflows/main.yml | 6 +++--- .github/workflows/release.yml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 34b4c10..a7f7abe 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,12 +13,12 @@ jobs: platform: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.platform }} steps: - - uses: actions/setup-go@v4 - with: - go-version: ${{ matrix.go-version }} - uses: actions/checkout@v3 with: fetch-depth: 1 + - uses: actions/setup-go@v4 + with: + go-version: ${{ matrix.go-version }} - run: make - run: sudo make install - run: go test -covermode=atomic -race -v ./... diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 29f9738..5b96ac9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,12 +15,12 @@ jobs: runs-on: ${{ matrix.os }} timeout-minutes: 20 steps: - - uses: actions/setup-go@v4 - with: - go-version: ${{ matrix.go-version }} - uses: actions/checkout@v3 with: path: go/src/github.com/lima-vm/sshocker + - uses: actions/setup-go@v4 + with: + go-version: ${{ matrix.go-version }} - name: "Compile binaries" working-directory: go/src/github.com/lima-vm/sshocker run: make cross From 227b8ed499a93068e3dfd60eff5dbf395582a722 Mon Sep 17 00:00:00 2001 From: Akihiro Suda Date: Sat, 12 Aug 2023 16:03:35 +0900 Subject: [PATCH 3/4] Remove dependency on github.com/hashicorp/go-multierror Signed-off-by: Akihiro Suda --- go.mod | 2 -- go.sum | 5 ----- pkg/util/util.go | 14 ++++++++------ 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/go.mod b/go.mod index 679cdc8..3fda16c 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,6 @@ module github.com/lima-vm/sshocker go 1.20 require ( - github.com/hashicorp/go-multierror v1.1.1 github.com/pkg/sftp v1.13.5 github.com/sirupsen/logrus v1.9.3 github.com/urfave/cli/v2 v2.25.7 @@ -11,7 +10,6 @@ require ( require ( github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect - github.com/hashicorp/errwrap v1.1.0 // indirect github.com/kr/fs v0.1.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect diff --git a/go.sum b/go.sum index c547103..129a170 100644 --- a/go.sum +++ b/go.sum @@ -3,11 +3,6 @@ github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= -github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= -github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/pkg/sftp v1.13.5 h1:a3RLUqkyjYRtBTZJZ1VRrKbN3zhuPLlUc3sphVz81go= diff --git a/pkg/util/util.go b/pkg/util/util.go index 54a3701..6c5001f 100644 --- a/pkg/util/util.go +++ b/pkg/util/util.go @@ -1,9 +1,8 @@ package util import ( + "errors" "io" - - "github.com/hashicorp/go-multierror" ) // RWC composes io.ReadCloser and io.WriteCloser into io.ReadWriteCloser @@ -13,12 +12,15 @@ type RWC struct { } func (rwc *RWC) Close() error { - var merr *multierror.Error + var merr error if err := rwc.ReadCloser.Close(); err != nil { - merr = multierror.Append(merr, err) + merr = errors.Join(merr, err) } if err := rwc.WriteCloser.Close(); err != nil { - merr = multierror.Append(merr, err) + merr = errors.Join(merr, err) + } + if merr != nil { + return merr } - return merr.ErrorOrNil() + return nil } From 23b591bb91cc47e7cef2d9d2b661d3e5e0e3f936 Mon Sep 17 00:00:00 2001 From: Akihiro Suda Date: Sat, 12 Aug 2023 16:04:07 +0900 Subject: [PATCH 4/4] go.mod: golang.org/x/crypto v0.12.0 Signed-off-by: Akihiro Suda --- go.mod | 4 ++-- go.sum | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 3fda16c..32a0418 100644 --- a/go.mod +++ b/go.mod @@ -13,6 +13,6 @@ require ( github.com/kr/fs v0.1.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect - golang.org/x/crypto v0.4.0 // indirect - golang.org/x/sys v0.3.0 // indirect + golang.org/x/crypto v0.12.0 // indirect + golang.org/x/sys v0.11.0 // indirect ) diff --git a/go.sum b/go.sum index 129a170..52fdf9b 100644 --- a/go.sum +++ b/go.sum @@ -23,6 +23,8 @@ github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsr golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.4.0 h1:UVQgzMY87xqpKNgb+kDsll2Igd33HszWHFLmpaRMq/8= golang.org/x/crypto v0.4.0/go.mod h1:3quD/ATkf6oY+rnes5c3ExXTbLc8mueNue5/DoinL80= +golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= +golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= 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= @@ -31,6 +33,8 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0 h1:w8ZOecv6NaNa/zC8944JTU3vz4u6Lagfk4RPQxv92NQ= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.3.0 h1:qoo4akIqOcDME5bhc/NgxUdovd6BSS2uMsVjB56q1xI= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=