Add support for rc versions in upgrader (#15424)

Этот коммит содержится в:
Jesús Espino
2020-09-10 16:30:03 +02:00
коммит произвёл GitHub
родитель 748526cc4c
Коммит 1058090a24
2 изменённых файлов: 42 добавлений и 7 удалений

Просмотреть файл

@@ -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) {