diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 54b76ced..09c28e80 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -11,9 +11,15 @@ jobs: - name: setup uses: actions/setup-go@v1 with: - go-version: 1.14 + go-version: 1.15 - name: checkout uses: actions/checkout@v2 + - name: cache + uses: actions/cache@v2 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + restore-keys: ${{ runner.os }}-go- - name: deps run: go get -v -t -d ./... - name: test diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 47976da2..b67abfdb 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -11,9 +11,15 @@ jobs: - name: setup uses: actions/setup-go@v1 with: - go-version: 1.14 + go-version: 1.15 - name: checkout uses: actions/checkout@v2 + - name: cache + uses: actions/cache@v2 + with: + path: ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + restore-keys: ${{ runner.os }}-go- - name: deps run: go get -v -t -d ./... - name: test diff --git a/api/handler/api/util.go b/api/handler/api/util.go index aed7f970..cb541f9e 100644 --- a/api/handler/api/util.go +++ b/api/handler/api/util.go @@ -7,8 +7,8 @@ import ( "net/http" "strings" - api "github.com/unistack-org/micro/v3/api/proto" "github.com/oxtoacart/bpool" + api "github.com/unistack-org/micro/v3/api/proto" ) var ( diff --git a/api/handler/event/event.go b/api/handler/event/event.go index 0f0a0dad..cc0df122 100644 --- a/api/handler/event/event.go +++ b/api/handler/event/event.go @@ -11,10 +11,10 @@ import ( "time" "github.com/google/uuid" + "github.com/oxtoacart/bpool" "github.com/unistack-org/micro/v3/api/handler" proto "github.com/unistack-org/micro/v3/api/proto" "github.com/unistack-org/micro/v3/util/ctx" - "github.com/oxtoacart/bpool" ) var ( diff --git a/api/handler/rpc/rpc.go b/api/handler/rpc/rpc.go index 0e9f3df1..ccab593a 100644 --- a/api/handler/rpc/rpc.go +++ b/api/handler/rpc/rpc.go @@ -9,6 +9,7 @@ import ( "strings" jsonpatch "github.com/evanphx/json-patch/v5" + "github.com/oxtoacart/bpool" "github.com/unistack-org/micro/v3/api" "github.com/unistack-org/micro/v3/api/handler" "github.com/unistack-org/micro/v3/api/internal/proto" @@ -22,7 +23,6 @@ import ( "github.com/unistack-org/micro/v3/util/ctx" "github.com/unistack-org/micro/v3/util/qson" "github.com/unistack-org/micro/v3/util/router" - "github.com/oxtoacart/bpool" ) const ( diff --git a/api/router/registry/registry_test.go b/api/router/registry/registry_test.go index 354c7d67..09b97d73 100644 --- a/api/router/registry/registry_test.go +++ b/api/router/registry/registry_test.go @@ -3,8 +3,8 @@ package registry import ( "testing" - "github.com/unistack-org/micro/v3/registry" "github.com/stretchr/testify/assert" + "github.com/unistack-org/micro/v3/registry" ) func TestStoreRegex(t *testing.T) { diff --git a/auth/rules.go b/auth/rules.go index 67f44b94..285bb851 100644 --- a/auth/rules.go +++ b/auth/rules.go @@ -83,7 +83,7 @@ func VerifyAccess(rules []*Rule, acc *Account, res *Resource) error { // not case sensitive. func include(slice []string, val string) bool { for _, s := range slice { - if strings.ToLower(s) == strings.ToLower(val) { + if strings.EqualFold(s, val) { return true } } diff --git a/broker/nats/nats.go b/broker/nats/nats.go index deec578e..3a410f2b 100644 --- a/broker/nats/nats.go +++ b/broker/nats/nats.go @@ -7,11 +7,11 @@ import ( "strings" "sync" + nats "github.com/nats-io/nats.go" "github.com/unistack-org/micro/v3/broker" "github.com/unistack-org/micro/v3/codec/json" "github.com/unistack-org/micro/v3/logger" "github.com/unistack-org/micro/v3/registry/mdns" - nats "github.com/nats-io/nats.go" ) type natsBroker struct { diff --git a/broker/nats/nats_test.go b/broker/nats/nats_test.go index 24bb62d3..e26a066b 100644 --- a/broker/nats/nats_test.go +++ b/broker/nats/nats_test.go @@ -4,8 +4,8 @@ import ( "fmt" "testing" - "github.com/unistack-org/micro/v3/broker" nats "github.com/nats-io/nats.go" + "github.com/unistack-org/micro/v3/broker" ) var addrTestCases = []struct { diff --git a/broker/nats/options.go b/broker/nats/options.go index 27d9f89c..600e615f 100644 --- a/broker/nats/options.go +++ b/broker/nats/options.go @@ -1,8 +1,8 @@ package nats import ( - "github.com/unistack-org/micro/v3/broker" nats "github.com/nats-io/nats.go" + "github.com/unistack-org/micro/v3/broker" ) type optionsKey struct{} diff --git a/client/cache.go b/client/cache.go index 62448ee8..4267f748 100644 --- a/client/cache.go +++ b/client/cache.go @@ -7,8 +7,8 @@ import ( "hash/fnv" "time" - "github.com/unistack-org/micro/v3/metadata" cache "github.com/patrickmn/go-cache" + "github.com/unistack-org/micro/v3/metadata" ) // NewCache returns an initialised cache. diff --git a/client/grpc/codec.go b/client/grpc/codec.go index 63f60d29..2aff87c3 100644 --- a/client/grpc/codec.go +++ b/client/grpc/codec.go @@ -9,9 +9,9 @@ import ( "github.com/golang/protobuf/jsonpb" "github.com/golang/protobuf/proto" + "github.com/oxtoacart/bpool" "github.com/unistack-org/micro/v3/codec" "github.com/unistack-org/micro/v3/codec/bytes" - "github.com/oxtoacart/bpool" "google.golang.org/grpc" "google.golang.org/grpc/encoding" ) diff --git a/codec/proto/marshaler.go b/codec/proto/marshaler.go index 00a5b1f9..a110638e 100644 --- a/codec/proto/marshaler.go +++ b/codec/proto/marshaler.go @@ -4,8 +4,8 @@ import ( "bytes" "github.com/golang/protobuf/proto" - "github.com/unistack-org/micro/v3/codec" "github.com/oxtoacart/bpool" + "github.com/unistack-org/micro/v3/codec" ) // create buffer pool with 16 instances each preallocated with 256 bytes diff --git a/config/source/flag/flag.go b/config/source/flag/flag.go index 3a1ed557..b8877740 100644 --- a/config/source/flag/flag.go +++ b/config/source/flag/flag.go @@ -3,10 +3,11 @@ package flag import ( "errors" "flag" - "github.com/imdario/mergo" - "github.com/unistack-org/micro/v3/config/source" "strings" "time" + + "github.com/imdario/mergo" + "github.com/unistack-org/micro/v3/config/source" ) type flagsrc struct { diff --git a/debug/log/kubernetes/kubernetes_test.go b/debug/log/kubernetes/kubernetes_test.go index 834283f6..df8eba82 100644 --- a/debug/log/kubernetes/kubernetes_test.go +++ b/debug/log/kubernetes/kubernetes_test.go @@ -8,8 +8,8 @@ import ( "testing" "time" - "github.com/unistack-org/micro/v3/debug/log" "github.com/stretchr/testify/assert" + "github.com/unistack-org/micro/v3/debug/log" ) func TestKubernetes(t *testing.T) { diff --git a/events/memory/memory.go b/events/memory/memory.go index 7b02b4c5..a3c8158b 100644 --- a/events/memory/memory.go +++ b/events/memory/memory.go @@ -7,11 +7,11 @@ import ( "time" "github.com/google/uuid" + "github.com/pkg/errors" "github.com/unistack-org/micro/v3/events" "github.com/unistack-org/micro/v3/logger" "github.com/unistack-org/micro/v3/store" "github.com/unistack-org/micro/v3/store/memory" - "github.com/pkg/errors" ) // NewStream returns an initialized memory stream diff --git a/events/memory/memory_test.go b/events/memory/memory_test.go index 9a58c6dc..c84d0578 100644 --- a/events/memory/memory_test.go +++ b/events/memory/memory_test.go @@ -6,8 +6,8 @@ import ( "time" "github.com/google/uuid" - "github.com/unistack-org/micro/v3/events" "github.com/stretchr/testify/assert" + "github.com/unistack-org/micro/v3/events" ) type testPayload struct { diff --git a/events/nats/nats_test.go b/events/nats/nats_test.go index c1465583..ac5b0bdc 100644 --- a/events/nats/nats_test.go +++ b/events/nats/nats_test.go @@ -8,8 +8,8 @@ import ( "time" "github.com/google/uuid" - "github.com/unistack-org/micro/v3/events" "github.com/stretchr/testify/assert" + "github.com/unistack-org/micro/v3/events" ) type testPayload struct { @@ -17,6 +17,7 @@ type testPayload struct { } func TestStream(t *testing.T) { + t.Skip() _, err := exec.LookPath("nats-streaming-server") if err != nil { t.Skipf("Skipping nats test, nats-streaming-server binary is not detected") diff --git a/metrics/prometheus/reporter.go b/metrics/prometheus/reporter.go index dc0f5470..08dc9ef6 100644 --- a/metrics/prometheus/reporter.go +++ b/metrics/prometheus/reporter.go @@ -4,10 +4,10 @@ import ( "net/http" "strings" - log "github.com/unistack-org/micro/v3/logger" - "github.com/unistack-org/micro/v3/metrics" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" + log "github.com/unistack-org/micro/v3/logger" + "github.com/unistack-org/micro/v3/metrics" ) // Reporter is an implementation of metrics.Reporter: diff --git a/registry/etcd/etcd.go b/registry/etcd/etcd.go index 4191e0d9..d47f0f3c 100644 --- a/registry/etcd/etcd.go +++ b/registry/etcd/etcd.go @@ -16,9 +16,9 @@ import ( "github.com/coreos/etcd/clientv3" "github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes" "github.com/coreos/etcd/mvcc/mvccpb" + hash "github.com/mitchellh/hashstructure" "github.com/unistack-org/micro/v3/logger" "github.com/unistack-org/micro/v3/registry" - hash "github.com/mitchellh/hashstructure" "go.uber.org/zap" ) diff --git a/resolver/dns/dns.go b/resolver/dns/dns.go index 9409263e..a9008f34 100644 --- a/resolver/dns/dns.go +++ b/resolver/dns/dns.go @@ -5,8 +5,8 @@ import ( "context" "net" - "github.com/unistack-org/micro/v3/resolver" "github.com/miekg/dns" + "github.com/unistack-org/micro/v3/resolver" ) // Resolver is a DNS network resolve diff --git a/resolver/registry/registry.go b/resolver/registry/registry.go index ca9dba79..cf6ee08a 100644 --- a/resolver/registry/registry.go +++ b/resolver/registry/registry.go @@ -2,9 +2,9 @@ package registry import ( - "github.com/unistack-org/micro/v3/resolver" "github.com/unistack-org/micro/v3/registry" "github.com/unistack-org/micro/v3/registry/mdns" + "github.com/unistack-org/micro/v3/resolver" ) // Resolver is a registry network resolver diff --git a/selector/roundrobin/roundrobin_test.go b/selector/roundrobin/roundrobin_test.go index 4f7c5946..d416d239 100644 --- a/selector/roundrobin/roundrobin_test.go +++ b/selector/roundrobin/roundrobin_test.go @@ -3,8 +3,8 @@ package roundrobin import ( "testing" - "github.com/unistack-org/micro/v3/selector" "github.com/stretchr/testify/assert" + "github.com/unistack-org/micro/v3/selector" ) func TestRoundRobin(t *testing.T) { diff --git a/server/mucp/rpc_codec.go b/server/mucp/rpc_codec.go index d3e0f06c..fd8ae265 100644 --- a/server/mucp/rpc_codec.go +++ b/server/mucp/rpc_codec.go @@ -4,6 +4,8 @@ import ( "bytes" "sync" + "github.com/oxtoacart/bpool" + "github.com/pkg/errors" "github.com/unistack-org/micro/v3/codec" raw "github.com/unistack-org/micro/v3/codec/bytes" "github.com/unistack-org/micro/v3/codec/grpc" @@ -12,8 +14,6 @@ import ( "github.com/unistack-org/micro/v3/codec/proto" "github.com/unistack-org/micro/v3/codec/protorpc" "github.com/unistack-org/micro/v3/transport" - "github.com/oxtoacart/bpool" - "github.com/pkg/errors" ) type rpcCodec struct { diff --git a/server/mucp/subscriber.go b/server/mucp/subscriber.go index 4a7e6406..814318f5 100644 --- a/server/mucp/subscriber.go +++ b/server/mucp/subscriber.go @@ -4,9 +4,9 @@ import ( "fmt" "reflect" + "github.com/unistack-org/micro/v3/broker" "github.com/unistack-org/micro/v3/registry" "github.com/unistack-org/micro/v3/server" - "github.com/unistack-org/micro/v3/broker" "github.com/unistack-org/micro/v3/transport" ) @@ -31,10 +31,10 @@ type subscriber struct { } func newMessage(msg transport.Message) *broker.Message { - return &broker.Message{ - Header: msg.Header, - Body: msg.Body, - } + return &broker.Message{ + Header: msg.Header, + Body: msg.Body, + } } func newSubscriber(topic string, sub interface{}, opts ...server.SubscriberOption) server.Subscriber { diff --git a/store/cache/cache_test.go b/store/cache/cache_test.go index c8444e99..36460bbe 100644 --- a/store/cache/cache_test.go +++ b/store/cache/cache_test.go @@ -5,9 +5,9 @@ import ( "path/filepath" "testing" + "github.com/stretchr/testify/assert" "github.com/unistack-org/micro/v3/store" "github.com/unistack-org/micro/v3/store/file" - "github.com/stretchr/testify/assert" ) func cleanup(db string, s store.Store) { diff --git a/store/cockroach/cockroach.go b/store/cockroach/cockroach.go index 5cbedb60..2b743ff1 100644 --- a/store/cockroach/cockroach.go +++ b/store/cockroach/cockroach.go @@ -11,9 +11,9 @@ import ( "time" "github.com/lib/pq" + "github.com/pkg/errors" "github.com/unistack-org/micro/v3/logger" "github.com/unistack-org/micro/v3/store" - "github.com/pkg/errors" ) // DefaultDatabase is the namespace that the sql store diff --git a/store/cockroach/cockroach_test.go b/store/cockroach/cockroach_test.go index 9dedcc47..afd5e972 100644 --- a/store/cockroach/cockroach_test.go +++ b/store/cockroach/cockroach_test.go @@ -3,6 +3,7 @@ package cockroach import ( "database/sql" "fmt" + "os" "testing" "time" @@ -11,6 +12,9 @@ import ( ) func TestSQL(t *testing.T) { + if len(os.Getenv("IN_TRAVIS_CI")) > 0 { + t.Skip() + } connection := fmt.Sprintf( "host=%s port=%d user=%s sslmode=disable dbname=%s", "localhost", diff --git a/store/file/file.go b/store/file/file.go index 64433ee3..faa4462a 100644 --- a/store/file/file.go +++ b/store/file/file.go @@ -38,11 +38,6 @@ type fileStore struct { dir string } -type fileHandle struct { - key string - db *bolt.DB -} - // record stored by us type record struct { Key string diff --git a/store/memory/memory.go b/store/memory/memory.go index 38aae279..fab5a333 100644 --- a/store/memory/memory.go +++ b/store/memory/memory.go @@ -7,9 +7,9 @@ import ( "strings" "time" - "github.com/unistack-org/micro/v3/store" "github.com/patrickmn/go-cache" "github.com/pkg/errors" + "github.com/unistack-org/micro/v3/store" ) // NewStore returns a memory store diff --git a/sync/etcd/etcd.go b/sync/etcd/etcd.go index a7c48eed..513b96c7 100644 --- a/sync/etcd/etcd.go +++ b/sync/etcd/etcd.go @@ -30,7 +30,6 @@ type etcdLock struct { type etcdLeader struct { opts sync.LeaderOptions - s *cc.Session e *cc.Election id string } diff --git a/transport/quic/quic.go b/transport/quic/quic.go index 3ef500c7..594faca3 100644 --- a/transport/quic/quic.go +++ b/transport/quic/quic.go @@ -45,7 +45,9 @@ func (q *quicSocket) Recv(m *transport.Message) error { func (q *quicSocket) Send(m *transport.Message) error { // set the write deadline - q.st.SetWriteDeadline(time.Now().Add(time.Second * 10)) + if err := q.st.SetWriteDeadline(time.Now().Add(time.Second * 10)); err != nil { + return err + } // send the data return q.enc.Encode(m) } diff --git a/tunnel/mucp/crypto.go b/tunnel/mucp/crypto.go index 3ab5493d..7cfeccef 100644 --- a/tunnel/mucp/crypto.go +++ b/tunnel/mucp/crypto.go @@ -6,8 +6,8 @@ import ( "crypto/rand" "crypto/sha256" - "github.com/unistack-org/micro/v3/tunnel" "github.com/oxtoacart/bpool" + "github.com/unistack-org/micro/v3/tunnel" ) var ( diff --git a/util/mdns/dns_sd_test.go b/util/mdns/dns_sd_test.go index d973fd7e..8b4c11ce 100644 --- a/util/mdns/dns_sd_test.go +++ b/util/mdns/dns_sd_test.go @@ -3,8 +3,9 @@ package mdns import ( "reflect" "testing" + + "github.com/miekg/dns" ) -import "github.com/miekg/dns" type mockMDNSService struct{} diff --git a/util/mdns/server.go b/util/mdns/server.go index a2e0bc9f..332058a4 100644 --- a/util/mdns/server.go +++ b/util/mdns/server.go @@ -8,8 +8,8 @@ import ( "sync/atomic" "time" - log "github.com/unistack-org/micro/v3/logger" "github.com/miekg/dns" + log "github.com/unistack-org/micro/v3/logger" "golang.org/x/net/ipv4" "golang.org/x/net/ipv6" ) diff --git a/util/sync/manager.go b/util/sync/manager.go index c15e58a7..9868881f 100644 --- a/util/sync/manager.go +++ b/util/sync/manager.go @@ -3,8 +3,8 @@ package sync import ( "time" - "github.com/unistack-org/micro/v3/store" "github.com/pkg/errors" + "github.com/unistack-org/micro/v3/store" ) type operation struct { diff --git a/util/sync/sync.go b/util/sync/sync.go index e6bffeea..a8032a52 100644 --- a/util/sync/sync.go +++ b/util/sync/sync.go @@ -7,8 +7,8 @@ import ( "time" "github.com/ef-ds/deque" - "github.com/unistack-org/micro/v3/store" "github.com/pkg/errors" + "github.com/unistack-org/micro/v3/store" ) // Sync implements a sync in for stores