Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .github/workflows/test-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,12 @@ jobs:
env:
GOTOOLCHAIN: local+path
GOSUMDB: off
run: go test -race -failfast -v -timeout 120m ./integration/... -branch ${{ github.event.pull_request.head.ref }}
run: |
if [[ "${{ matrix.test-path }}" == "appregistry" ]]; then
go test -race -failfast -v -timeout 120m ./integration/... -branch ${{ github.event.pull_request.head.ref }}
else
go test -race -failfast -v -timeout 120m ./integration/...
fi
working-directory: ${{ matrix.test-path }}

status:
Expand Down
10 changes: 10 additions & 0 deletions hermes/cmd/cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package cmd

import (
"github.com/ignite/cli/v28/ignite/services/plugin"

"github.com/ignite/apps/hermes/pkg/hermes"
)

// GetCommands returns the list of app commands.
Expand All @@ -24,6 +26,14 @@ func GetCommands() []*plugin.Command {
Persistent: true,
Type: plugin.FlagTypeString,
},
{
Name: flagHermesVersion,
Usage: "set the version of the Hermes binary to use",
Shorthand: "v",
DefaultValue: hermes.DefaultVersion,
Persistent: true,
Type: plugin.FlagTypeString,
},
},
Commands: []*plugin.Command{
{
Expand Down
14 changes: 8 additions & 6 deletions hermes/cmd/configure.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,12 @@ func ConfigureHandler(ctx context.Context, cmd *plugin.ExecutedCommand) error {
customCfg = getConfig(flags)
)

var (
hermesCfg *hermes.Config
err error
)
hermesVersion, err := getVersion(flags)
if err != nil {
return err
}

var hermesCfg *hermes.Config
if customCfg != "" {
hermesCfg, err = hermes.LoadConfig(customCfg)
if err != nil {
Expand Down Expand Up @@ -86,11 +88,11 @@ func ConfigureHandler(ctx context.Context, cmd *plugin.ExecutedCommand) error {
session.StopSpinner()
_ = session.Println(color.Green.Sprintf("Hermes config created at %s", cfgPath))

h, err := hermes.New()
session.StartSpinner(fmt.Sprintf("Fetching hermes binary %s", hermesVersion))
h, err := hermes.New(hermesVersion)
if err != nil {
return err
}
defer h.Cleanup()

session.StartSpinner(fmt.Sprintf("Verifying chain A (%s) keys", chainAID))

Expand Down
19 changes: 17 additions & 2 deletions hermes/cmd/exec.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,34 @@ package cmd

import (
"context"
"fmt"
"os"

"github.com/ignite/cli/v28/ignite/pkg/cliui"
"github.com/ignite/cli/v28/ignite/services/plugin"

"github.com/ignite/apps/hermes/pkg/hermes"
)

func ExecuteHandler(ctx context.Context, cmd *plugin.ExecutedCommand) error {
h, err := hermes.New()
var (
flags = plugin.Flags(cmd.Flags)
session = cliui.New()
)

hermesVersion, err := getVersion(flags)
if err != nil {
return err
}

defer session.End()

session.StartSpinner(fmt.Sprintf("Fetching hermes binary %s", hermesVersion))
h, err := hermes.New(hermesVersion)
if err != nil {
return err
}
defer h.Cleanup()
session.StopSpinner()

return h.Run(
ctx,
Expand Down
21 changes: 20 additions & 1 deletion hermes/cmd/flag.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
package cmd

import (
"strings"

"github.com/blang/semver/v4"
"github.com/ignite/cli/v28/ignite/pkg/errors"
"github.com/ignite/cli/v28/ignite/services/plugin"

"github.com/ignite/apps/hermes/pkg/hermes"
)

const (
Expand Down Expand Up @@ -79,7 +85,8 @@ const (
flagOverwriteConfig = "overwrite-config"
flagChannelVersion = "channel-version"

flagConfig = "config"
flagConfig = "config"
flagHermesVersion = "hermes-version"

mnemonicEntropySize = 256
)
Expand All @@ -88,3 +95,15 @@ func getConfig(flags plugin.Flags) string {
config, _ := flags.GetString(flagConfig)
return config
}

func getVersion(flags plugin.Flags) (string, error) {
version, _ := flags.GetString(flagHermesVersion)
if version == "" {
version = hermes.DefaultVersion
}
sv, err := semver.Parse(strings.TrimPrefix(version, "v"))
if err != nil {
return version, errors.Wrapf(err, "invalid version format %s", version)
}
return "v" + sv.String(), nil
}
72 changes: 61 additions & 11 deletions hermes/cmd/keys.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,34 @@ package cmd

import (
"context"
"fmt"
"os"

"github.com/ignite/cli/v28/ignite/pkg/cliui"
"github.com/ignite/cli/v28/ignite/services/plugin"

"github.com/ignite/apps/hermes/pkg/hermes"
)

func KeysAddMnemonicHandler(ctx context.Context, cmd *plugin.ExecutedCommand) error {
args := cmd.Args
h, err := hermes.New()
var (
args = cmd.Args
flags = plugin.Flags(cmd.Flags)
session = cliui.New()
)
defer session.End()

hermesVersion, err := getVersion(flags)
if err != nil {
return err
}

session.StartSpinner(fmt.Sprintf("Fetching hermes binary %s", hermesVersion))
h, err := hermes.New(hermesVersion)
if err != nil {
return err
}
defer h.Cleanup()
session.StopSpinner()

return h.AddMnemonic(
ctx,
Expand All @@ -28,12 +42,24 @@ func KeysAddMnemonicHandler(ctx context.Context, cmd *plugin.ExecutedCommand) er
}

func KeysAddFileHandler(ctx context.Context, cmd *plugin.ExecutedCommand) error {
args := cmd.Args
h, err := hermes.New()
var (
args = cmd.Args
flags = plugin.Flags(cmd.Flags)
session = cliui.New()
)
defer session.End()

hermesVersion, err := getVersion(flags)
if err != nil {
return err
}

session.StartSpinner(fmt.Sprintf("Fetching hermes binary %s", hermesVersion))
h, err := hermes.New(hermesVersion)
if err != nil {
return err
}
defer h.Cleanup()
session.StopSpinner()

return h.AddKey(
ctx,
Expand All @@ -46,12 +72,24 @@ func KeysAddFileHandler(ctx context.Context, cmd *plugin.ExecutedCommand) error
}

func KeysListHandler(ctx context.Context, cmd *plugin.ExecutedCommand) error {
args := cmd.Args
h, err := hermes.New()
var (
args = cmd.Args
flags = plugin.Flags(cmd.Flags)
session = cliui.New()
)
defer session.End()

hermesVersion, err := getVersion(flags)
if err != nil {
return err
}

session.StartSpinner(fmt.Sprintf("Fetching hermes binary %s", hermesVersion))
h, err := hermes.New(hermesVersion)
if err != nil {
return err
}
defer h.Cleanup()
session.StopSpinner()

return h.KeysList(
ctx,
Expand All @@ -63,11 +101,23 @@ func KeysListHandler(ctx context.Context, cmd *plugin.ExecutedCommand) error {
}

func KeysDeleteHandler(ctx context.Context, cmd *plugin.ExecutedCommand) error {
h, err := hermes.New()
var (
flags = plugin.Flags(cmd.Flags)
session = cliui.New()
)
defer session.End()

hermesVersion, err := getVersion(flags)
if err != nil {
return err
}

session.StartSpinner(fmt.Sprintf("Fetching hermes binary %s", hermesVersion))
h, err := hermes.New(hermesVersion)
if err != nil {
return err
}
defer h.Cleanup()
session.StopSpinner()

args := cmd.Args
return h.DeleteKey(
Expand Down
15 changes: 13 additions & 2 deletions hermes/cmd/start.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@ package cmd

import (
"context"
"fmt"
"os"
"strings"

"github.com/ignite/cli/v28/ignite/pkg/cliui"
"github.com/ignite/cli/v28/ignite/pkg/errors"
"github.com/ignite/cli/v28/ignite/services/plugin"

Expand All @@ -17,8 +19,16 @@ func StartHandler(ctx context.Context, cmd *plugin.ExecutedCommand) (err error)
args = cmd.Args
customCfg = getConfig(flags)
cfgName = strings.Join(args, hermes.ConfigNameSeparator)
session = cliui.New()
)
defer session.End()

hermesVersion, err := getVersion(flags)
if err != nil {
return err
}

session.StartSpinner("Fetching hermes config")
cfgPath := customCfg
if cfgPath == "" {
cfgPath, err = hermes.ConfigPath(cfgName)
Expand All @@ -31,11 +41,12 @@ func StartHandler(ctx context.Context, cmd *plugin.ExecutedCommand) (err error)
return errors.Errorf("config file (%s) not exist, try to configure you relayer first", cfgPath)
}

h, err := hermes.New()
session.StartSpinner(fmt.Sprintf("Fetching hermes binary %s", hermesVersion))
h, err := hermes.New(hermesVersion)
if err != nil {
return err
}
defer h.Cleanup()
session.StopSpinner()

return h.Start(
ctx,
Expand Down
Loading
Loading