Add support for rc versions in upgrader (#15424)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
748526cc4c
Коммит
1058090a24
@@ -16,6 +16,7 @@ import (
|
|||||||
"path"
|
"path"
|
||||||
"runtime"
|
"runtime"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"strings"
|
||||||
"sync/atomic"
|
"sync/atomic"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
|
||||||
@@ -69,7 +70,12 @@ func (wc *writeCounter) Write(p []byte) (int, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getCurrentVersionTgzUrl() string {
|
func getCurrentVersionTgzUrl() string {
|
||||||
return "https://releases.mattermost.com/" + model.CurrentVersion + "/mattermost-" + model.CurrentVersion + "-linux-amd64.tar.gz"
|
version := model.CurrentVersion
|
||||||
|
if strings.HasPrefix(model.BuildNumber, version+"-rc") {
|
||||||
|
version = model.BuildNumber
|
||||||
|
}
|
||||||
|
|
||||||
|
return "https://releases.mattermost.com/" + version + "/mattermost-" + version + "-linux-amd64.tar.gz"
|
||||||
}
|
}
|
||||||
|
|
||||||
func verifySignature(filename string, sigfilename string, publicKey string) error {
|
func verifySignature(filename string, sigfilename string, publicKey string) error {
|
||||||
|
|||||||
@@ -35,12 +35,41 @@ func TestCanIUpgradeToE0(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestGetCurrentVersionTgzUrl(t *testing.T) {
|
func TestGetCurrentVersionTgzUrl(t *testing.T) {
|
||||||
|
t.Run("get release version in regular version", func(t *testing.T) {
|
||||||
currentVersion := model.CurrentVersion
|
currentVersion := model.CurrentVersion
|
||||||
|
buildNumber := model.CurrentVersion
|
||||||
model.CurrentVersion = "5.22.0"
|
model.CurrentVersion = "5.22.0"
|
||||||
|
model.BuildNumber = "5.22.0"
|
||||||
defer func() {
|
defer func() {
|
||||||
model.CurrentVersion = currentVersion
|
model.CurrentVersion = currentVersion
|
||||||
|
model.BuildNumber = buildNumber
|
||||||
}()
|
}()
|
||||||
require.Equal(t, "https://releases.mattermost.com/5.22.0/mattermost-5.22.0-linux-amd64.tar.gz", getCurrentVersionTgzUrl())
|
require.Equal(t, "https://releases.mattermost.com/5.22.0/mattermost-5.22.0-linux-amd64.tar.gz", getCurrentVersionTgzUrl())
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("get release version in dev version", func(t *testing.T) {
|
||||||
|
currentVersion := model.CurrentVersion
|
||||||
|
buildNumber := model.CurrentVersion
|
||||||
|
model.CurrentVersion = "5.22.0"
|
||||||
|
model.BuildNumber = "5.22.0-dev"
|
||||||
|
defer func() {
|
||||||
|
model.CurrentVersion = currentVersion
|
||||||
|
model.BuildNumber = buildNumber
|
||||||
|
}()
|
||||||
|
require.Equal(t, "https://releases.mattermost.com/5.22.0/mattermost-5.22.0-linux-amd64.tar.gz", getCurrentVersionTgzUrl())
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("get release version in rc version", func(t *testing.T) {
|
||||||
|
currentVersion := model.CurrentVersion
|
||||||
|
buildNumber := model.CurrentVersion
|
||||||
|
model.CurrentVersion = "5.22.0"
|
||||||
|
model.BuildNumber = "5.22.0-rc2"
|
||||||
|
defer func() {
|
||||||
|
model.CurrentVersion = currentVersion
|
||||||
|
model.BuildNumber = buildNumber
|
||||||
|
}()
|
||||||
|
require.Equal(t, "https://releases.mattermost.com/5.22.0-rc2/mattermost-5.22.0-rc2-linux-amd64.tar.gz", getCurrentVersionTgzUrl())
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestExtractBinary(t *testing.T) {
|
func TestExtractBinary(t *testing.T) {
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user