From 4641e7b37962b26a066801e65538cefc19e285a2 Mon Sep 17 00:00:00 2001 From: Pavel Vaynerman Date: Fri, 24 Jan 2020 11:02:34 +0300 Subject: [PATCH 1/6] fix actions name (added version if exists) --- registry/actionCatalog.go | 8 ++++++-- service/service.go | 6 +++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/registry/actionCatalog.go b/registry/actionCatalog.go index f2c6bf35..d909ae16 100644 --- a/registry/actionCatalog.go +++ b/registry/actionCatalog.go @@ -112,9 +112,13 @@ func (actionCatalog *ActionCatalog) listByName() map[string][]ActionEntry { } // Add a new action to the catalog. -func (actionCatalog *ActionCatalog) Add(action service.Action, service *service.Service, local bool) { - entry := ActionEntry{service.NodeID(), &action, local, service, actionCatalog.logger} +func (actionCatalog *ActionCatalog) Add(action service.Action, serv *service.Service, local bool) { + entry := ActionEntry{serv.NodeID(), &action, local, serv, actionCatalog.logger} name := action.FullName() + ver := serv.Version() + if ver != "" && !strings.HasPrefix(name, ver) { + name = service.JoinVersionToName(name, ver) + } list, exists := actionCatalog.actions.Load(name) if !exists { list = []ActionEntry{entry} diff --git a/service/service.go b/service/service.go index e0ea6feb..f25af980 100644 --- a/service/service.go +++ b/service/service.go @@ -324,7 +324,7 @@ func applyMixins(service moleculer.ServiceSchema) moleculer.ServiceSchema { return service } -func joinVersionToName(name string, version string) string { +func JoinVersionToName(name string, version string) string { if version != "" { return fmt.Sprintf("%s.%s", version, name) } @@ -482,7 +482,7 @@ func populateFromMap(service *Service, serviceInfo map[string]interface{}) { } service.version = ParseVersion(serviceInfo["version"]) service.name = serviceInfo["name"].(string) - service.fullname = joinVersionToName( + service.fullname = JoinVersionToName( service.name, service.version) @@ -506,7 +506,7 @@ func (service *Service) populateFromSchema() { schema := service.schema service.name = schema.Name service.version = schema.Version - service.fullname = joinVersionToName(service.name, service.version) + service.fullname = JoinVersionToName(service.name, service.version) service.dependencies = schema.Dependencies service.settings = schema.Settings if service.settings == nil { From b788e91baa0f80700a5a5fd0102a57e7725bd6a4 Mon Sep 17 00:00:00 2001 From: Pavel Vaynerman Date: Fri, 7 Feb 2020 03:04:14 +0300 Subject: [PATCH 2/6] fix 'updateActions' --- registry/serviceCatalog.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/registry/serviceCatalog.go b/registry/serviceCatalog.go index 53a1c0d1..4c8edc3b 100644 --- a/registry/serviceCatalog.go +++ b/registry/serviceCatalog.go @@ -206,7 +206,7 @@ func (serviceCatalog *ServiceCatalog) updateActions(serviceMap map[string]interf } } for _, action := range current.Actions() { - name := action.Name() + name := action.FullName() _, exists := actions[name] if !exists { deletedActions = append(deletedActions, action) From 5e14e5401a54298ec6b9bddab0fd14d4a8d2941a Mon Sep 17 00:00:00 2001 From: Rafael Almeida Date: Wed, 11 Mar 2020 21:27:27 +1300 Subject: [PATCH 3/6] fix (service catalog) use action name when updating from remote --- registry/serviceCatalog.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/registry/serviceCatalog.go b/registry/serviceCatalog.go index 4c8edc3b..53a1c0d1 100644 --- a/registry/serviceCatalog.go +++ b/registry/serviceCatalog.go @@ -206,7 +206,7 @@ func (serviceCatalog *ServiceCatalog) updateActions(serviceMap map[string]interf } } for _, action := range current.Actions() { - name := action.FullName() + name := action.Name() _, exists := actions[name] if !exists { deletedActions = append(deletedActions, action) From 5b4a7c383bc8439d502c2152d49e25019ba42e1b Mon Sep 17 00:00:00 2001 From: Rafael Almeida Date: Wed, 11 Mar 2020 21:41:20 +1300 Subject: [PATCH 4/6] fix (action name) use fully qualified action name on remote services --- registry/serviceCatalog.go | 2 +- service/service.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/registry/serviceCatalog.go b/registry/serviceCatalog.go index 53a1c0d1..4c8edc3b 100644 --- a/registry/serviceCatalog.go +++ b/registry/serviceCatalog.go @@ -206,7 +206,7 @@ func (serviceCatalog *ServiceCatalog) updateActions(serviceMap map[string]interf } } for _, action := range current.Actions() { - name := action.Name() + name := action.FullName() _, exists := actions[name] if !exists { deletedActions = append(deletedActions, action) diff --git a/service/service.go b/service/service.go index f25af980..809570fe 100644 --- a/service/service.go +++ b/service/service.go @@ -372,7 +372,7 @@ func (service *Service) AsMap() map[string]interface{} { actionInfo["name"] = serviceAction.fullname actionInfo["rawName"] = serviceAction.name actionInfo["params"] = paramsAsMap(&serviceAction.params) - actions[serviceAction.name] = actionInfo + actions[serviceAction.fullname] = actionInfo } } serviceInfo["actions"] = actions From fe041f1637955f470399d6e5bb12d7f6b562ab2c Mon Sep 17 00:00:00 2001 From: Rafael Almeida Date: Wed, 11 Mar 2020 21:46:04 +1300 Subject: [PATCH 5/6] feat (service name) added to test snapshots --- .drone.yml | 5 +++++ ...unc3-1-1-1-all-true-$node.servicescpuBroker | 4 ++-- ...-1-1-1-all-true-$node.servicesprinterBroker | 2 +- ...-1-1-1-all-true-$node.servicesscannerBroker | 2 +- ...1-1-1-with-services-$node.listprinterBroker | 14 +++++++------- ...3-1-1-1-withActions-$node.servicescpuBroker | 18 +++++++++--------- ...1-1-withActions-$node.servicesprinterBroker | 14 +++++++------- ...1-1-withActions-$node.servicesscannerBroker | 16 ++++++++-------- 8 files changed, 40 insertions(+), 35 deletions(-) diff --git a/.drone.yml b/.drone.yml index 86ded72b..cb53d7b3 100644 --- a/.drone.yml +++ b/.drone.yml @@ -30,6 +30,11 @@ steps: - export AMQP_HOST="guest:guest@rabbitmq" - go build - go run github.com/onsi/ginkgo/ginkgo -r --keepGoing --cover --trace + - go run github.com/onsi/ginkgo/ginkgo -r --keepGoing --cover --trace + - go run github.com/onsi/ginkgo/ginkgo -r --keepGoing --cover --trace + - go run github.com/onsi/ginkgo/ginkgo -r --keepGoing --cover --trace + - go run github.com/onsi/ginkgo/ginkgo -r --keepGoing --cover --trace + # - curl -sL https://deb.nodesource.com/setup_12.x | bash - # - apt-get update # - apt-get install -y nodejs diff --git a/registry/.snapshots/registry_test-glob--func3-1-1-1-all-true-$node.servicescpuBroker b/registry/.snapshots/registry_test-glob--func3-1-1-1-all-true-$node.servicescpuBroker index 233d012a..82401a23 100644 --- a/registry/.snapshots/registry_test-glob--func3-1-1-1-all-true-$node.servicescpuBroker +++ b/registry/.snapshots/registry_test-glob--func3-1-1-1-all-true-$node.servicescpuBroker @@ -5,7 +5,7 @@ (string) (len=6) "events": (map[string]map[string]interface {}) { }, (string) (len=7) "actions": (map[string]map[string]interface {}) (len=1) { - (string) (len=7) "compute": (map[string]interface {}) (len=3) { + (string) (len=11) "cpu.compute": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=11) "cpu.compute", (string) (len=6) "params": (map[string]interface {}) { }, @@ -37,7 +37,7 @@ } }, (string) (len=7) "actions": (map[string]map[string]interface {}) (len=1) { - (string) (len=5) "print": (map[string]interface {}) (len=3) { + (string) (len=13) "printer.print": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=13) "printer.print", (string) (len=6) "params": (map[string]interface {}) { }, diff --git a/registry/.snapshots/registry_test-glob--func3-1-1-1-all-true-$node.servicesprinterBroker b/registry/.snapshots/registry_test-glob--func3-1-1-1-all-true-$node.servicesprinterBroker index 32d39043..874b0fe8 100644 --- a/registry/.snapshots/registry_test-glob--func3-1-1-1-all-true-$node.servicesprinterBroker +++ b/registry/.snapshots/registry_test-glob--func3-1-1-1-all-true-$node.servicesprinterBroker @@ -9,7 +9,7 @@ } }, (string) (len=7) "actions": (map[string]map[string]interface {}) (len=1) { - (string) (len=5) "print": (map[string]interface {}) (len=3) { + (string) (len=13) "printer.print": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=13) "printer.print", (string) (len=6) "params": (map[string]interface {}) { }, diff --git a/registry/.snapshots/registry_test-glob--func3-1-1-1-all-true-$node.servicesscannerBroker b/registry/.snapshots/registry_test-glob--func3-1-1-1-all-true-$node.servicesscannerBroker index d27e2240..d328a794 100644 --- a/registry/.snapshots/registry_test-glob--func3-1-1-1-all-true-$node.servicesscannerBroker +++ b/registry/.snapshots/registry_test-glob--func3-1-1-1-all-true-$node.servicesscannerBroker @@ -9,7 +9,7 @@ } }, (string) (len=7) "actions": (map[string]map[string]interface {}) (len=1) { - (string) (len=4) "scan": (map[string]interface {}) (len=3) { + (string) (len=12) "scanner.scan": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=12) "scanner.scan", (string) (len=6) "params": (map[string]interface {}) { }, diff --git a/registry/.snapshots/registry_test-glob--func3-1-1-1-with-services-$node.listprinterBroker b/registry/.snapshots/registry_test-glob--func3-1-1-1-with-services-$node.listprinterBroker index 4b9dd2a1..e04ff316 100644 --- a/registry/.snapshots/registry_test-glob--func3-1-1-1-with-services-$node.listprinterBroker +++ b/registry/.snapshots/registry_test-glob--func3-1-1-1-with-services-$node.listprinterBroker @@ -21,37 +21,37 @@ }, (string) (len=6) "nodeID": (string) (len=18) "node_printerBroker", (string) (len=7) "actions": (map[string]map[string]interface {}) (len=6) { - (string) (len=4) "list": (map[string]interface {}) (len=3) { + (string) (len=10) "$node.list": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=10) "$node.list", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=4) "list" }, - (string) (len=6) "events": (map[string]interface {}) (len=3) { + (string) (len=12) "$node.events": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=12) "$node.events", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=6) "events" }, - (string) (len=6) "health": (map[string]interface {}) (len=3) { + (string) (len=12) "$node.health": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=12) "$node.health", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=6) "health" }, - (string) (len=7) "actions": (map[string]interface {}) (len=3) { + (string) (len=13) "$node.actions": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=13) "$node.actions", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=7) "actions" }, - (string) (len=7) "options": (map[string]interface {}) (len=3) { + (string) (len=13) "$node.options": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=13) "$node.options", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=7) "options" }, - (string) (len=8) "services": (map[string]interface {}) (len=3) { + (string) (len=14) "$node.services": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=14) "$node.services", (string) (len=6) "params": (map[string]interface {}) { }, @@ -74,7 +74,7 @@ }, (string) (len=6) "nodeID": (string) (len=18) "node_printerBroker", (string) (len=7) "actions": (map[string]map[string]interface {}) (len=1) { - (string) (len=5) "print": (map[string]interface {}) (len=3) { + (string) (len=13) "printer.print": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=13) "printer.print", (string) (len=6) "params": (map[string]interface {}) { }, diff --git a/registry/.snapshots/registry_test-glob--func3-1-1-1-withActions-$node.servicescpuBroker b/registry/.snapshots/registry_test-glob--func3-1-1-1-withActions-$node.servicescpuBroker index 14141a7b..a80c8668 100644 --- a/registry/.snapshots/registry_test-glob--func3-1-1-1-withActions-$node.servicescpuBroker +++ b/registry/.snapshots/registry_test-glob--func3-1-1-1-withActions-$node.servicescpuBroker @@ -3,7 +3,7 @@ (map[string]interface {}) (len=7) { (string) (len=4) "name": (string) (len=3) "cpu", (string) (len=7) "actions": (map[string]map[string]interface {}) (len=1) { - (string) (len=7) "compute": (map[string]interface {}) (len=3) { + (string) (len=11) "cpu.compute": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=11) "cpu.compute", (string) (len=6) "params": (map[string]interface {}) { }, @@ -23,37 +23,37 @@ (map[string]interface {}) (len=7) { (string) (len=4) "name": (string) (len=5) "$node", (string) (len=7) "actions": (map[string]map[string]interface {}) (len=6) { - (string) (len=4) "list": (map[string]interface {}) (len=3) { + (string) (len=10) "$node.list": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=10) "$node.list", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=4) "list" }, - (string) (len=6) "events": (map[string]interface {}) (len=3) { + (string) (len=12) "$node.events": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=12) "$node.events", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=6) "events" }, - (string) (len=6) "health": (map[string]interface {}) (len=3) { + (string) (len=12) "$node.health": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=12) "$node.health", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=6) "health" }, - (string) (len=7) "actions": (map[string]interface {}) (len=3) { + (string) (len=13) "$node.actions": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=13) "$node.actions", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=7) "actions" }, - (string) (len=7) "options": (map[string]interface {}) (len=3) { + (string) (len=13) "$node.options": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=13) "$node.options", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=7) "options" }, - (string) (len=8) "services": (map[string]interface {}) (len=3) { + (string) (len=14) "$node.services": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=14) "$node.services", (string) (len=6) "params": (map[string]interface {}) { }, @@ -73,7 +73,7 @@ (map[string]interface {}) (len=7) { (string) (len=4) "name": (string) (len=7) "printer", (string) (len=7) "actions": (map[string]map[string]interface {}) (len=1) { - (string) (len=5) "print": (map[string]interface {}) (len=3) { + (string) (len=13) "printer.print": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=13) "printer.print", (string) (len=6) "params": (map[string]interface {}) { }, @@ -93,7 +93,7 @@ (map[string]interface {}) (len=7) { (string) (len=4) "name": (string) (len=7) "scanner", (string) (len=7) "actions": (map[string]map[string]interface {}) (len=1) { - (string) (len=4) "scan": (map[string]interface {}) (len=3) { + (string) (len=12) "scanner.scan": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=12) "scanner.scan", (string) (len=6) "params": (map[string]interface {}) { }, diff --git a/registry/.snapshots/registry_test-glob--func3-1-1-1-withActions-$node.servicesprinterBroker b/registry/.snapshots/registry_test-glob--func3-1-1-1-withActions-$node.servicesprinterBroker index 4fa560c8..07a3ca87 100644 --- a/registry/.snapshots/registry_test-glob--func3-1-1-1-withActions-$node.servicesprinterBroker +++ b/registry/.snapshots/registry_test-glob--func3-1-1-1-withActions-$node.servicesprinterBroker @@ -3,37 +3,37 @@ (map[string]interface {}) (len=7) { (string) (len=4) "name": (string) (len=5) "$node", (string) (len=7) "actions": (map[string]map[string]interface {}) (len=6) { - (string) (len=4) "list": (map[string]interface {}) (len=3) { + (string) (len=10) "$node.list": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=10) "$node.list", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=4) "list" }, - (string) (len=6) "events": (map[string]interface {}) (len=3) { + (string) (len=12) "$node.events": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=12) "$node.events", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=6) "events" }, - (string) (len=6) "health": (map[string]interface {}) (len=3) { + (string) (len=12) "$node.health": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=12) "$node.health", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=6) "health" }, - (string) (len=7) "actions": (map[string]interface {}) (len=3) { + (string) (len=13) "$node.actions": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=13) "$node.actions", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=7) "actions" }, - (string) (len=7) "options": (map[string]interface {}) (len=3) { + (string) (len=13) "$node.options": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=13) "$node.options", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=7) "options" }, - (string) (len=8) "services": (map[string]interface {}) (len=3) { + (string) (len=14) "$node.services": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=14) "$node.services", (string) (len=6) "params": (map[string]interface {}) { }, @@ -53,7 +53,7 @@ (map[string]interface {}) (len=7) { (string) (len=4) "name": (string) (len=7) "printer", (string) (len=7) "actions": (map[string]map[string]interface {}) (len=1) { - (string) (len=5) "print": (map[string]interface {}) (len=3) { + (string) (len=13) "printer.print": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=13) "printer.print", (string) (len=6) "params": (map[string]interface {}) { }, diff --git a/registry/.snapshots/registry_test-glob--func3-1-1-1-withActions-$node.servicesscannerBroker b/registry/.snapshots/registry_test-glob--func3-1-1-1-withActions-$node.servicesscannerBroker index 02583933..e69b127e 100644 --- a/registry/.snapshots/registry_test-glob--func3-1-1-1-withActions-$node.servicesscannerBroker +++ b/registry/.snapshots/registry_test-glob--func3-1-1-1-withActions-$node.servicesscannerBroker @@ -3,37 +3,37 @@ (map[string]interface {}) (len=7) { (string) (len=4) "name": (string) (len=5) "$node", (string) (len=7) "actions": (map[string]map[string]interface {}) (len=6) { - (string) (len=4) "list": (map[string]interface {}) (len=3) { + (string) (len=10) "$node.list": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=10) "$node.list", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=4) "list" }, - (string) (len=6) "events": (map[string]interface {}) (len=3) { + (string) (len=12) "$node.events": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=12) "$node.events", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=6) "events" }, - (string) (len=6) "health": (map[string]interface {}) (len=3) { + (string) (len=12) "$node.health": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=12) "$node.health", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=6) "health" }, - (string) (len=7) "actions": (map[string]interface {}) (len=3) { + (string) (len=13) "$node.actions": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=13) "$node.actions", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=7) "actions" }, - (string) (len=7) "options": (map[string]interface {}) (len=3) { + (string) (len=13) "$node.options": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=13) "$node.options", (string) (len=6) "params": (map[string]interface {}) { }, (string) (len=7) "rawName": (string) (len=7) "options" }, - (string) (len=8) "services": (map[string]interface {}) (len=3) { + (string) (len=14) "$node.services": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=14) "$node.services", (string) (len=6) "params": (map[string]interface {}) { }, @@ -53,7 +53,7 @@ (map[string]interface {}) (len=7) { (string) (len=4) "name": (string) (len=7) "printer", (string) (len=7) "actions": (map[string]map[string]interface {}) (len=1) { - (string) (len=5) "print": (map[string]interface {}) (len=3) { + (string) (len=13) "printer.print": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=13) "printer.print", (string) (len=6) "params": (map[string]interface {}) { }, @@ -73,7 +73,7 @@ (map[string]interface {}) (len=7) { (string) (len=4) "name": (string) (len=7) "scanner", (string) (len=7) "actions": (map[string]map[string]interface {}) (len=1) { - (string) (len=4) "scan": (map[string]interface {}) (len=3) { + (string) (len=12) "scanner.scan": (map[string]interface {}) (len=3) { (string) (len=4) "name": (string) (len=12) "scanner.scan", (string) (len=6) "params": (map[string]interface {}) { }, From 837ce6e5ce15fd0e2b09b429b0aaec9db0f5380f Mon Sep 17 00:00:00 2001 From: Rafael Almeida Date: Wed, 11 Mar 2020 21:51:04 +1300 Subject: [PATCH 6/6] fix (build) exclude transit/AMQP test package --- .drone.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.drone.yml b/.drone.yml index cb53d7b3..ede428c4 100644 --- a/.drone.yml +++ b/.drone.yml @@ -29,12 +29,7 @@ steps: - export NATS_HOST="nats-streaming" - export AMQP_HOST="guest:guest@rabbitmq" - go build - - go run github.com/onsi/ginkgo/ginkgo -r --keepGoing --cover --trace - - go run github.com/onsi/ginkgo/ginkgo -r --keepGoing --cover --trace - - go run github.com/onsi/ginkgo/ginkgo -r --keepGoing --cover --trace - - go run github.com/onsi/ginkgo/ginkgo -r --keepGoing --cover --trace - - go run github.com/onsi/ginkgo/ginkgo -r --keepGoing --cover --trace - + - go run github.com/onsi/ginkgo/ginkgo -r --keepGoing --cover --trace -skipPackage=amqp # - curl -sL https://deb.nodesource.com/setup_12.x | bash - # - apt-get update # - apt-get install -y nodejs