Add support for rc versions in upgrader (#15424)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
748526cc4c
Коммит
1058090a24
@@ -16,6 +16,7 @@ import (
|
||||
"path"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync/atomic"
|
||||
"syscall"
|
||||
|
||||
@@ -69,7 +70,12 @@ func (wc *writeCounter) Write(p []byte) (int, error) {
|
||||
}
|
||||
|
||||
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 {
|
||||
|
||||
@@ -35,12 +35,41 @@ func TestCanIUpgradeToE0(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGetCurrentVersionTgzUrl(t *testing.T) {
|
||||
currentVersion := model.CurrentVersion
|
||||
model.CurrentVersion = "5.22.0"
|
||||
defer func() {
|
||||
model.CurrentVersion = currentVersion
|
||||
}()
|
||||
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 regular version", func(t *testing.T) {
|
||||
currentVersion := model.CurrentVersion
|
||||
buildNumber := model.CurrentVersion
|
||||
model.CurrentVersion = "5.22.0"
|
||||
model.BuildNumber = "5.22.0"
|
||||
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 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) {
|
||||
|
||||
Ссылка в новой задаче
Block a user