Skip to content

Commit 932bfd2

Browse files
authored
improving tag handling for chain upgrade (#1287)
* improving tag handling for chain upgrade * improving tag handling for chain upgrade
1 parent 2e561b3 commit 932bfd2

File tree

2 files changed

+42
-0
lines changed

2 files changed

+42
-0
lines changed

app/setup_handlers.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,23 @@ func generateUpgradeVersion() string {
4242
panic(fmt.Sprintf("Invalid version format: %s. Expected format: vX.Y.Z", currentVersion))
4343
}
4444
majorVersion := strings.TrimPrefix(parts[0], "v")
45+
minorVersion := parts[1]
4546
// required for testnet
4647
patchParts := strings.Split(parts[2], "-")
4748
rcVersion := ""
4849
if len(patchParts) > 1 {
4950
rcVersion = strings.Join(patchParts[1:], "-")
5051
}
52+
// testnet
5153
if rcVersion != "" {
54+
if minorVersion != "0" && minorVersion != "999999" {
55+
return fmt.Sprintf("v%s.%s-%s", majorVersion, minorVersion, rcVersion)
56+
}
5257
return fmt.Sprintf("v%s-%s", majorVersion, rcVersion)
5358
}
59+
if minorVersion != "0" && minorVersion != "999999" {
60+
return fmt.Sprintf("v%s.%s", majorVersion, parts[1])
61+
}
5462
return fmt.Sprintf("v%s", majorVersion)
5563
}
5664

app/setup_handlers_test.go

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package app
2+
3+
import (
4+
"github.com/cosmos/cosmos-sdk/version"
5+
"github.com/stretchr/testify/require"
6+
"testing"
7+
)
8+
9+
func TestGenerateUpgradeVersion(t *testing.T) {
10+
// mainnet
11+
version.Version = "v4.0.0"
12+
require.Equal(t, "v4", generateUpgradeVersion())
13+
14+
version.Version = "v4.1.0"
15+
require.Equal(t, "v4.1", generateUpgradeVersion())
16+
17+
version.Version = "v4.2.1"
18+
require.Equal(t, "v4.2", generateUpgradeVersion())
19+
20+
// SUT
21+
version.Version = "v"
22+
require.Equal(t, "v999999", generateUpgradeVersion())
23+
24+
// testnet
25+
version.Version = "v4.0.0-rc0"
26+
require.Equal(t, "v4-rc0", generateUpgradeVersion())
27+
28+
version.Version = "v4.1.0-rc1"
29+
require.Equal(t, "v4.1-rc1", generateUpgradeVersion())
30+
31+
// devnet
32+
version.Version = "v2e561b347baaad345e9a73f4cbfcdcbf3c958d20"
33+
require.Equal(t, "v2e561b347baaad345e9a73f4cbfcdcbf3c958d20", generateUpgradeVersion())
34+
}

0 commit comments

Comments
 (0)