From 775214f0c471b717eaf663eac14c9c74e1d284ff Mon Sep 17 00:00:00 2001 From: Aleksandr Bezobchuk Date: Tue, 19 Apr 2022 09:27:01 -0400 Subject: [PATCH 1/6] updates --- go.mod | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++------- go.sum | 10 ------- 2 files changed, 78 insertions(+), 20 deletions(-) diff --git a/go.mod b/go.mod index 24ffb829d222..d855f7eaf011 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -go 1.15 +go 1.17 module github.com/cosmos/cosmos-sdk @@ -27,7 +27,6 @@ require ( github.com/jhump/protoreflect v1.9.0 github.com/magiconair/properties v1.8.5 github.com/mattn/go-isatty v0.0.14 - github.com/onsi/ginkgo v1.16.4 // indirect github.com/otiai10/copy v1.6.0 github.com/pkg/errors v0.9.1 github.com/prometheus/client_golang v1.12.1 @@ -52,14 +51,83 @@ require ( gopkg.in/yaml.v2 v2.4.0 ) -// latest grpc doesn't work with with our modified proto compiler, so we need to enforce -// the following version across all dependencies. -replace google.golang.org/grpc => google.golang.org/grpc v1.33.2 +require ( + filippo.io/edwards25519 v1.0.0-beta.2 // indirect + github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d // indirect + github.com/DataDog/zstd v1.4.5 // indirect + github.com/Workiva/go-datastructures v1.0.53 // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/cespare/xxhash v1.1.0 // indirect + github.com/cespare/xxhash/v2 v2.1.2 // indirect + github.com/cosmos/ledger-go v0.9.2 // indirect + github.com/danieljoos/wincred v1.0.2 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect + github.com/dgraph-io/badger/v2 v2.2007.2 // indirect + github.com/dgraph-io/ristretto v0.0.3 // indirect + github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect + github.com/dustin/go-humanize v1.0.0 // indirect + github.com/dvsekhvalnov/jose2go v0.0.0-20200901110807-248326c1351b // indirect + github.com/felixge/httpsnoop v1.0.1 // indirect + github.com/fsnotify/fsnotify v1.5.1 // indirect + github.com/go-kit/kit v0.12.0 // indirect + github.com/go-kit/log v0.2.0 // indirect + github.com/go-logfmt/logfmt v0.5.1 // indirect + github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect + github.com/golang/snappy v0.0.3 // indirect + github.com/google/btree v1.0.0 // indirect + github.com/google/orderedcode v0.0.1 // indirect + github.com/gorilla/websocket v1.5.0 // indirect + github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect + github.com/gtank/merlin v0.1.1 // indirect + github.com/gtank/ristretto255 v0.1.2 // indirect + github.com/hashicorp/go-immutable-radix v1.3.1 // indirect + github.com/hashicorp/hcl v1.0.0 // indirect + github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/jmhodges/levigo v1.0.0 // indirect + github.com/keybase/go-keychain v0.0.0-20190712205309-48d3d31d256d // indirect + github.com/klauspost/compress v1.13.6 // indirect + github.com/lib/pq v1.10.4 // indirect + github.com/libp2p/go-buffer-pool v0.0.2 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect + github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 // indirect + github.com/minio/highwayhash v1.0.2 // indirect + github.com/mitchellh/mapstructure v1.4.3 // indirect + github.com/mtibben/percent v0.2.1 // indirect + github.com/onsi/ginkgo v1.16.4 // indirect + github.com/pelletier/go-toml v1.9.4 // indirect + github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/prometheus/client_model v0.2.0 // indirect + github.com/prometheus/procfs v0.7.3 // indirect + github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect + github.com/rs/cors v1.8.2 // indirect + github.com/sasha-s/go-deadlock v0.2.1-0.20190427202633-1595213edefa // indirect + github.com/spf13/afero v1.6.0 // indirect + github.com/spf13/jwalterweatherman v1.1.0 // indirect + github.com/subosito/gotenv v1.2.0 // indirect + github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca // indirect + github.com/tecbot/gorocksdb v0.0.0-20191217155057-f0fad39f321c // indirect + github.com/zondax/hid v0.9.0 // indirect + go.etcd.io/bbolt v1.3.6 // indirect + golang.org/x/net v0.0.0-20211208012354-db4efeb81f4b // indirect + golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 // indirect + golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 // indirect + golang.org/x/text v0.3.7 // indirect + gopkg.in/ini.v1 v1.66.2 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect + nhooyr.io/websocket v1.8.6 // indirect +) -replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 +replace ( + github.com/99designs/keyring => github.com/cosmos/keyring v1.1.7-0.20210622111912-ef00f8ac3d76 -replace github.com/99designs/keyring => github.com/cosmos/keyring v1.1.7-0.20210622111912-ef00f8ac3d76 + // Fix upstream GHSA-h395-qcrw-5vmq vulnerability. + // TODO Remove it: https://github.com/cosmos/cosmos-sdk/issues/10409 + github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.7.0 + github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 -// Fix upstream GHSA-h395-qcrw-5vmq vulnerability. -// TODO Remove it: https://github.com/cosmos/cosmos-sdk/issues/10409 -replace github.com/gin-gonic/gin => github.com/gin-gonic/gin v1.7.0 + // latest grpc doesn't work with with our modified proto compiler, so we need to enforce + // the following version across all dependencies. + google.golang.org/grpc => google.golang.org/grpc v1.33.2 +) diff --git a/go.sum b/go.sum index 365134deeb86..43c29749f85a 100644 --- a/go.sum +++ b/go.sum @@ -72,7 +72,6 @@ github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbi github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d h1:nalkkPQcITbvhmL4+C4cKA87NW0tfm3Kl9VXRoPywFg= github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1:URdX5+vg25ts3aCh8H5IFZybJYKWhJHYMTnf+ULtoC4= -github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60= github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo= @@ -239,7 +238,6 @@ 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/deckarep/golang-set v0.0.0-20180603214616-504e848d77ea/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14yDtF28KmMOgQ= github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= -github.com/denisenkom/go-mssqldb v0.12.0 h1:VtrkII767ttSPNRfFekePK3sctr+joXgO58stqQbtUA= github.com/denisenkom/go-mssqldb v0.12.0/go.mod h1:iiK0YP1ZeepvmBQk/QpLEhhTNJgfzrpArPY/aFvc9yU= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f h1:U5y3Y5UE0w7amNe7Z5G/twsBW0KEalRQXZzf8ufSh9I= github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f/go.mod h1:xH/i4TFMt8koVQZ6WFms69WAsDWr2XsYL3Hkl7jkoLE= @@ -326,7 +324,6 @@ github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNVA= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= -github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0 h1:HyWk6mgj5qFqCT5fjGBuRArbVDfE4hi8+e8ceBS/t7Q= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= @@ -336,7 +333,6 @@ github.com/go-playground/validator/v10 v10.4.1 h1:pH2c5ADXtd66mxoE0Zm9SUhxE20r7a github.com/go-playground/validator/v10 v10.4.1/go.mod h1:nlOn6nFhuKACm19sB/8EGNn9GlaMV7XkbRSipzJ0Ii4= github.com/go-sourcemap/sourcemap v2.1.2+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= @@ -353,9 +349,7 @@ github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5x github.com/gogo/gateway v1.1.0 h1:u0SuhL9+Il+UbjM9VIE3ntfRujKbvVpFvNB4HbjeVQ0= github.com/gogo/gateway v1.1.0/go.mod h1:S7rR8FRQyG3QFESeSv4l2WnsyzlCLG0CzBbUUo/mbic= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188 h1:+eHOFJl1BaXrQxKX+T06f78590z4qA2ZzBTqahsKSE4= github.com/golang-sql/sqlexp v0.0.0-20170517235910-f1bb20e5a188/go.mod h1:vXjM/+wXQnTPR4KqTKDgJukSZ6amVRtWMPEjE6sQoK8= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -462,7 +456,6 @@ github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/ad github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gotestyourself/gotestyourself v2.2.0+incompatible h1:AQwinXlbQR2HvPjQZOmDhRqsv5mZf+Jb1RnSLxcqZcI= github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/graph-gophers/graphql-go v0.0.0-20191115155744-f33e81362277/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= @@ -635,7 +628,6 @@ github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27k github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-sqlite3 v1.14.9 h1:10HX2Td0ocZpYEjhilsuo6WWtUqttj2Kb0KtD86/KYA= github.com/mattn/go-sqlite3 v1.14.9/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -746,7 +738,6 @@ github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnh github.com/otiai10/copy v1.6.0 h1:IinKAryFFuPONZ7cm6T6E2QX/vcJwSnlaA5lfoaXIiQ= github.com/otiai10/copy v1.6.0/go.mod h1:XWfuS3CrI0R6IE0FbgHsEazaXO8G0LpMp9o8tos0x4E= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= -github.com/otiai10/curr v1.0.0 h1:TJIWdbX0B+kpNagQrjgq8bCMrbhiuX73M2XwgtDMoOI= github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= github.com/otiai10/mint v1.3.2 h1:VYWnrP5fXmz1MXvjuUvcBrXSjGE6xjON+axB/UrpO3E= @@ -1522,7 +1513,6 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= From f9936ab201e5f4813b6059a59316065f824fcde8 Mon Sep 17 00:00:00 2001 From: Aleksandr Bezobchuk Date: Tue, 19 Apr 2022 09:30:01 -0400 Subject: [PATCH 2/6] cl++ --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 39c9b223d00f..ec9773107ed4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ ### Improvements +* [\#11686](https://github.com/cosmos/cosmos-sdk/pull/11686) Update the min required Golang version to `1.17`. * (x/auth/vesting) [\#11652](https://github.com/cosmos/cosmos-sdk/pull/11652) Add util functions for `Period(s)` ## [v0.45.3](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.45.3) - 2022-04-12 From c78bf0b72dfe8c469dbcc336a8bb8426c4d5e251 Mon Sep 17 00:00:00 2001 From: Aleksandr Bezobchuk Date: Tue, 19 Apr 2022 09:33:00 -0400 Subject: [PATCH 3/6] updates --- contrib/rosetta/node/Dockerfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/contrib/rosetta/node/Dockerfile b/contrib/rosetta/node/Dockerfile index 0887f522f656..f3a9fb19d774 100644 --- a/contrib/rosetta/node/Dockerfile +++ b/contrib/rosetta/node/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.15-alpine as build +FROM golang:1.17-alpine as build RUN apk add --no-cache tar @@ -29,4 +29,3 @@ COPY --from=build /node/root /root/ WORKDIR /root/.simapp RUN chmod -R 0777 ./ - From 53a8632b69de19f55b7dd8529d766cccd744bf46 Mon Sep 17 00:00:00 2001 From: Aleksandr Bezobchuk Date: Tue, 19 Apr 2022 09:44:45 -0400 Subject: [PATCH 4/6] updates --- .github/workflows/lint.yml | 2 +- .github/workflows/sims.yml | 12 ++++++------ .github/workflows/tag.yml | 2 +- .github/workflows/test.yml | 12 ++++++------ contrib/rosetta/rosetta-cli/Dockerfile | 2 +- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index a205981912b2..97cd90d025c9 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -14,7 +14,7 @@ jobs: steps: - uses: actions/setup-go@v2.1.4 with: - go-version: 1.16 + go-version: 1.17 - uses: technote-space/get-diff-action@v5 id: git_diff with: diff --git a/.github/workflows/sims.yml b/.github/workflows/sims.yml index f239c877f050..21b7df21a4d7 100644 --- a/.github/workflows/sims.yml +++ b/.github/workflows/sims.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-go@v2.1.3 with: - go-version: 1.16 + go-version: 1.17 - name: Display go version run: go version - run: make build @@ -26,7 +26,7 @@ jobs: steps: - uses: actions/setup-go@v2.1.3 with: - go-version: 1.16 + go-version: 1.17 - name: Display go version run: go version - name: Install runsim @@ -43,7 +43,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-go@v2.1.3 with: - go-version: 1.16 + go-version: 1.17 - name: Display go version run: go version - uses: technote-space/get-diff-action@v4 @@ -69,7 +69,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-go@v2.1.3 with: - go-version: 1.16 + go-version: 1.17 - name: Display go version run: go version - uses: technote-space/get-diff-action@v4 @@ -97,7 +97,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-go@v2.1.3 with: - go-version: 1.16 + go-version: 1.17 - name: Display go version run: go version - uses: technote-space/get-diff-action@v4 @@ -125,7 +125,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-go@v2.1.3 with: - go-version: 1.16 + go-version: 1.17 - name: Display go version run: go version - uses: technote-space/get-diff-action@v4 diff --git a/.github/workflows/tag.yml b/.github/workflows/tag.yml index 70365ef17923..19d2d9f1f5ed 100644 --- a/.github/workflows/tag.yml +++ b/.github/workflows/tag.yml @@ -15,7 +15,7 @@ jobs: - name: Install Go uses: actions/setup-go@v2.1.3 with: - go-version: 1.16 + go-version: 1.17 - name: Unshallow run: git fetch --prune --unshallow - name: Create release diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 782458272335..c739260a1653 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,7 +12,7 @@ jobs: steps: - uses: actions/setup-go@v2.1.3 with: - go-version: 1.16 + go-version: 1.17 - name: Display go version run: go version - name: install tparse @@ -32,7 +32,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-go@v2.1.3 with: - go-version: 1.16 + go-version: 1.17 - uses: technote-space/get-diff-action@v4 id: git_diff with: @@ -49,7 +49,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-go@v2.1.3 with: - go-version: 1.16 + go-version: 1.17 - name: Display go version run: go version - uses: technote-space/get-diff-action@v4 @@ -102,7 +102,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-go@v2.1.3 with: - go-version: 1.16 + go-version: 1.17 - uses: technote-space/get-diff-action@v4 with: PATTERNS: | @@ -180,7 +180,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-go@v2.1.3 with: - go-version: 1.16 + go-version: 1.17 - uses: technote-space/get-diff-action@v4 with: PATTERNS: | @@ -224,7 +224,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-go@v2.1.3 with: - go-version: 1.16 + go-version: 1.17 - uses: technote-space/get-diff-action@v4 id: git_diff with: diff --git a/contrib/rosetta/rosetta-cli/Dockerfile b/contrib/rosetta/rosetta-cli/Dockerfile index f67070f6c42d..86ecfa7fa66f 100644 --- a/contrib/rosetta/rosetta-cli/Dockerfile +++ b/contrib/rosetta/rosetta-cli/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.15-alpine as build +FROM golang:1.17-alpine as build RUN apk add git gcc libc-dev --no-cache From 2d3c16568489d1fb8c7caf51089174c1c9618b19 Mon Sep 17 00:00:00 2001 From: Aleksandr Bezobchuk Date: Tue, 19 Apr 2022 10:10:09 -0400 Subject: [PATCH 5/6] updates --- .github/workflows/test.yml | 2 +- Makefile | 55 +++++++++++++----------------- contrib/images/Makefile | 15 +++++--- contrib/images/simd-dlv/Dockerfile | 22 ++++++++++++ contrib/images/simd-dlv/README.md | 37 ++++++++++++++++++++ contrib/images/simd-dlv/wrapper.sh | 25 ++++++++++++++ contrib/images/simd-env/Dockerfile | 2 +- 7 files changed, 120 insertions(+), 38 deletions(-) create mode 100644 contrib/images/simd-dlv/Dockerfile create mode 100644 contrib/images/simd-dlv/README.md create mode 100755 contrib/images/simd-dlv/wrapper.sh diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c739260a1653..92de857521ec 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -234,7 +234,7 @@ jobs: go.sum - name: start localnet run: | - make clean build-simd-linux localnet-start + make clean localnet-start if: env.GIT_DIFF - name: test liveness run: | diff --git a/Makefile b/Makefile index 0105576856f6..049773edb69d 100644 --- a/Makefile +++ b/Makefile @@ -112,7 +112,7 @@ BUILD_TARGETS := build install build: BUILD_ARGS=-o $(BUILDDIR)/ build-linux: - GOOS=linux GOARCH=amd64 LEDGER_ENABLED=false $(MAKE) build + GOOS=linux GOARCH=$(if $(findstring aarch64,$(shell uname -m)) || $(findstring arm64,$(shell uname -m)),arm64,amd64) LEDGER_ENABLED=false $(MAKE) build $(BUILD_TARGETS): go.sum $(BUILDDIR)/ go $@ -mod=readonly $(BUILD_FLAGS) $(BUILD_ARGS) ./... @@ -120,33 +120,10 @@ $(BUILD_TARGETS): go.sum $(BUILDDIR)/ $(BUILDDIR)/: mkdir -p $(BUILDDIR)/ -build-simd-all: go.sum - $(DOCKER) rm latest-build || true - $(DOCKER) run --volume=$(CURDIR):/sources:ro \ - --env TARGET_PLATFORMS='linux/amd64 darwin/amd64 linux/arm64 windows/amd64' \ - --env APP=simd \ - --env VERSION=$(VERSION) \ - --env COMMIT=$(COMMIT) \ - --env LEDGER_ENABLED=$(LEDGER_ENABLED) \ - --name latest-build cosmossdk/rbuilder:latest - $(DOCKER) cp -a latest-build:/home/builder/artifacts/ $(CURDIR)/ - -build-simd-linux: go.sum $(BUILDDIR)/ - $(DOCKER) rm latest-build || true - $(DOCKER) run --volume=$(CURDIR):/sources:ro \ - --env TARGET_PLATFORMS='linux/amd64' \ - --env APP=simd \ - --env VERSION=$(VERSION) \ - --env COMMIT=$(COMMIT) \ - --env LEDGER_ENABLED=false \ - --name latest-build cosmossdk/rbuilder:latest - $(DOCKER) cp -a latest-build:/home/builder/artifacts/ $(CURDIR)/ - cp artifacts/simd-*-linux-amd64 $(BUILDDIR)/simd - cosmovisor: $(MAKE) -C cosmovisor cosmovisor -.PHONY: build build-linux build-simd-all build-simd-linux cosmovisor +.PHONY: build build-linux cosmovisor mockgen_cmd=go run github.com/golang/mock/mockgen @@ -484,26 +461,40 @@ proto-update-deps: ### Localnet ### ############################################################################### -# Run a 4-node testnet locally -localnet-start: build-linux localnet-stop - $(if $(shell $(DOCKER) inspect -f '{{ .Id }}' cosmossdk/simd-env 2>/dev/null),$(info found image cosmossdk/simd-env),$(MAKE) -C contrib/images simd-env) - $(DOCKER) run --rm -v $(CURDIR)/localnet:/data cosmossdk/simd-env \ - testnet init-files --v 4 -o /data --starting-ip-address 192.168.10.2 --keyring-backend=test +localnet-build-env: + $(MAKE) -C contrib/images simd-env + +localnet-build-dlv: + $(MAKE) -C contrib/images simd-dlv + +localnet-build-nodes: + $(DOCKER) run --rm -v $(CURDIR)/.testnets:/data cosmossdk/simd \ + testnet init-files --v 4 -o /data --starting-ip-address 192.168.10.2 --keyring-backend=test docker-compose up -d localnet-stop: docker-compose down -.PHONY: localnet-start localnet-stop +# localnet-start will run a 4-node testnet locally. The nodes are +# based off the docker images in: ./contrib/images/simd-env +localnet-start: localnet-stop localnet-build-env localnet-build-nodes + +# localnet-debug will run a 4-node testnet locally in debug mode +# you can read more about the debug mode here: ./contrib/images/simd-dlv/README.md +localnet-debug: localnet-stop localnet-build-dlv localnet-build-nodes + +.PHONY: localnet-start localnet-stop localnet-debug localnet-build-env \ +localnet-build-dlv localnet-build-nodes ############################################################################### ### rosetta ### ############################################################################### -# builds rosetta test data dir + rosetta-data: -docker container rm data_dir_build docker build -t rosetta-ci:latest -f contrib/rosetta/node/Dockerfile . docker run --name data_dir_build -t rosetta-ci:latest sh /rosetta/data.sh docker cp data_dir_build:/tmp/data.tar.gz "$(CURDIR)/contrib/rosetta/node/data.tar.gz" docker container rm data_dir_build + .PHONY: rosetta-data diff --git a/contrib/images/Makefile b/contrib/images/Makefile index 03d3f8be42e5..0c9364155113 100644 --- a/contrib/images/Makefile +++ b/contrib/images/Makefile @@ -1,7 +1,14 @@ all: simd-env -simd-env: - docker build --tag cosmossdk/simd-env -f simd-env/Dockerfile \ - $(shell git rev-parse --show-toplevel) +simd-env: simd-rmi + docker build --tag cosmossdk/simd -f simd-env/Dockerfile \ + $(shell git rev-parse --show-toplevel) -.PHONY: all simd-env +simd-dlv: simd-rmi + docker build --tag cosmossdk/simd -f simd-dlv/Dockerfile \ + $(shell git rev-parse --show-toplevel) + +simd-rmi: + docker rmi cosmossdk/simd 2>/dev/null; true + +.PHONY: all simd-env simd-dlv simd-rmi \ No newline at end of file diff --git a/contrib/images/simd-dlv/Dockerfile b/contrib/images/simd-dlv/Dockerfile new file mode 100644 index 000000000000..9d15d621d761 --- /dev/null +++ b/contrib/images/simd-dlv/Dockerfile @@ -0,0 +1,22 @@ +FROM golang:1.17-alpine AS build +RUN apk add build-base git linux-headers libc-dev +RUN go install github.com/go-delve/delve/cmd/dlv@latest +WORKDIR /work +COPY go.mod go.sum /work/ +RUN go mod download +COPY ./ /work +RUN LEDGER_ENABLED=false make COSMOS_BUILD_OPTIONS="debug,nostrip" clean build + +FROM alpine:3.14 AS run +RUN apk add bash curl jq +COPY contrib/images/simd-dlv/wrapper.sh /usr/bin/wrapper.sh + +VOLUME /simd +COPY --from=build /work/build/simd /simd/ +COPY --from=build /go/bin/dlv /usr/local/bin +WORKDIR /simd + +EXPOSE 26656 26657 2345 +ENTRYPOINT ["/usr/bin/wrapper.sh"] +CMD ["start", "--log_format", "plain"] +STOPSIGNAL SIGTERM diff --git a/contrib/images/simd-dlv/README.md b/contrib/images/simd-dlv/README.md new file mode 100644 index 000000000000..dcca3cde5c8b --- /dev/null +++ b/contrib/images/simd-dlv/README.md @@ -0,0 +1,37 @@ +# Remote Debugging with go-delve + +[Delve](https://github.com/go-delve/delve) is a debugger for the Go programming language. The goal of the project is to provide a simple, full featured debugging tool for Go. Delve should be easy to invoke and easy to use. Chances are if you're using a debugger, things aren't going your way. With that in mind, Delve should stay out of your way as much as possible. + +## Use-case + +Cosmos-SDK provides you with a local network to bootstrap a chain in your machine, but how does one debug a node or module? + +If we start a single node, we won't be able to debug transactions as the machine will be in bootstrapping phase trying to find peers to connect too, thats why we need to start a local network. + +But the current `localnet-start` does not provide us with debugging tools so that's why there is a different image for debugging a local network, that is to avoid any issues in the future were debugging won't be needed. + +Both `simd-env` and `simd-dlv` work and run the same, except that `simd-dlv` uses `go-delve` to run the binaries. + +## How to use + +The command to start a local network in debug mode is: + +```shell +# make localnet-debug +``` + +The command to stop the local network and destroy its containers is: + +```shell +# make localnet-stop +``` + +__note: this works the same for both `localnet-start` and `localnet-debug`__ + +Now, by default only `simdnode0` is run in debug mode, but you can run any of the other nodes in debug mode by changing the `DEBUG` environment variable to `1` in `docker-compose.yml`. + +## How to connect + +Delve will open a port on `2345` for `simdnode0` and it will increment for each of the other nodes that have `DEBUG` set to `1`. + +You can connect to the debugging server either through [GoLand IDE](https://www.jetbrains.com/help/go/attach-to-running-go-processes-with-debugger.html) or you can use [delve cli](https://github.com/go-delve/delve/blob/master/Documentation/usage/dlv_connect.md) command. diff --git a/contrib/images/simd-dlv/wrapper.sh b/contrib/images/simd-dlv/wrapper.sh new file mode 100755 index 000000000000..a1187ea7ec78 --- /dev/null +++ b/contrib/images/simd-dlv/wrapper.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env sh +set -euo pipefail +set -x + +DEBUG=${DEBUG:-0} +BINARY=/simd/${BINARY:-simd} +ID=${ID:-0} +LOG=${LOG:-simd.log} + +if ! [ -f "${BINARY}" ]; then + echo "The binary $(basename "${BINARY}") cannot be found. Please add the binary to the shared folder. Please use the BINARY environment variable if the name of the binary is not 'simd'" + exit 1 +fi + +export SIMDHOME="/data/node${ID}/simd" + +if [ "$DEBUG" -eq 1 ]; then + dlv --listen=:2345 --continue --headless=true --api-version=2 --accept-multiclient exec "${BINARY}" -- --home "${SIMDHOME}" "$@" +elif [ "$DEBUG" -eq 1 ] && [ -d "$(dirname "${SIMDHOME}"/"${LOG}")" ]; then + dlv --listen=:2345 --continue --headless=true --api-version=2 --accept-multiclient exec "${BINARY}" -- --home "${SIMDHOME}" "$@" | tee "${SIMDHOME}/${LOG}" +elif [ -d "$(dirname "${SIMDHOME}"/"${LOG}")" ]; then + "${BINARY}" --home "${SIMDHOME}" "$@" | tee "${SIMDHOME}/${LOG}" +else + "${BINARY}" --home "${SIMDHOME}" "$@" +fi \ No newline at end of file diff --git a/contrib/images/simd-env/Dockerfile b/contrib/images/simd-env/Dockerfile index b4443cdc8a8e..7c5fcf7644b4 100644 --- a/contrib/images/simd-env/Dockerfile +++ b/contrib/images/simd-env/Dockerfile @@ -2,7 +2,7 @@ FROM golang:1.17-alpine AS build RUN apk add build-base git linux-headers WORKDIR /work COPY go.mod go.sum /work/ -COPY db/go.mod db/go.sum /work/db/ + RUN go mod download COPY ./ /work RUN LEDGER_ENABLED=false make clean build From dfe58b5b81455ba631170dda0d746d12bcfff60e Mon Sep 17 00:00:00 2001 From: Aleksandr Bezobchuk Date: Tue, 19 Apr 2022 10:18:53 -0400 Subject: [PATCH 6/6] updates --- docker-compose.yml | 54 +++++++++++++++++++++++++++++++++------------- 1 file changed, 39 insertions(+), 15 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index a5ef517e547a..13851c894e9f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,64 +3,88 @@ version: "3" services: simdnode0: container_name: simdnode0 - image: "cosmossdk/simd-env" + image: "cosmossdk/simd" + environment: + - DEBUG=1 + - ID=0 + - LOG=${LOG:-simd.log} + cap_add: + - SYS_PTRACE + security_opt: + - seccomp:unconfined ports: - "26656-26657:26656-26657" - "1317:1317" - "9090:9090" - environment: - - ID=0 - - LOG=${LOG:-simd.log} + - "2345:2345" volumes: - - ./localnet:/data:Z + - ./.testnets:/data:Z networks: localnet: ipv4_address: 192.168.10.2 simdnode1: container_name: simdnode1 - image: "cosmossdk/simd-env" + image: "cosmossdk/simd" + environment: + - DEBUG=0 + - ID=1 + - LOG=${LOG:-simd.log} + cap_add: + - SYS_PTRACE + security_opt: + - seccomp:unconfined ports: - "26666-26667:26656-26657" - "1318:1317" - "9091:9090" - environment: - - ID=1 - - LOG=${LOG:-simd.log} + - "2346:2345" volumes: - - ./localnet:/data:Z + - ./.testnets:/data:Z networks: localnet: ipv4_address: 192.168.10.3 simdnode2: container_name: simdnode2 - image: "cosmossdk/simd-env" + image: "cosmossdk/simd" environment: + - DEBUG=0 - ID=2 - LOG=${LOG:-simd.log} + cap_add: + - SYS_PTRACE + security_opt: + - seccomp:unconfined ports: - "26676-26677:26656-26657" - "1319:1317" - "9092:9090" + - "2347:2345" volumes: - - ./localnet:/data:Z + - ./.testnets:/data:Z networks: localnet: ipv4_address: 192.168.10.4 simdnode3: container_name: simdnode3 - image: "cosmossdk/simd-env" + image: "cosmossdk/simd" environment: + - DEBUG=0 - ID=3 - LOG=${LOG:-simd.log} + cap_add: + - SYS_PTRACE + security_opt: + - seccomp:unconfined ports: - "26686-26687:26656-26657" - "1320:1317" - "9093:9090" + - "2348:2345" volumes: - - ./localnet:/data:Z + - ./.testnets:/data:Z networks: localnet: ipv4_address: 192.168.10.5 @@ -71,4 +95,4 @@ networks: ipam: driver: default config: - - subnet: 192.168.10.0/16 + - subnet: 192.168.10.0/25