Set SemverCompatible to false for Conan packages (#21275)
Fixes #21250 Related #20414 Conan packages don't have to follow SemVer. The migration fixes the setting for all existing Conan and Generic (#20414) packages.
This commit is contained in:
parent
34f509eb7a
commit
30ca91666e
4 changed files with 19 additions and 3 deletions
|
@ -413,6 +413,8 @@ var migrations = []Migration{
|
||||||
NewMigration("Add badges to users", createUserBadgesTable),
|
NewMigration("Add badges to users", createUserBadgesTable),
|
||||||
// v225 -> v226
|
// v225 -> v226
|
||||||
NewMigration("Alter gpg_key/public_key content TEXT fields to MEDIUMTEXT", alterPublicGPGKeyContentFieldsToMediumText),
|
NewMigration("Alter gpg_key/public_key content TEXT fields to MEDIUMTEXT", alterPublicGPGKeyContentFieldsToMediumText),
|
||||||
|
// v226 -> v227
|
||||||
|
NewMigration("Conan and generic packages do not need to be semantically versioned", fixPackageSemverField),
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetCurrentDBVersion returns the current db version
|
// GetCurrentDBVersion returns the current db version
|
||||||
|
|
15
models/migrations/v226.go
Normal file
15
models/migrations/v226.go
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
// Copyright 2022 The Gitea Authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a MIT-style
|
||||||
|
// license that can be found in the LICENSE file.
|
||||||
|
|
||||||
|
package migrations
|
||||||
|
|
||||||
|
import (
|
||||||
|
"xorm.io/builder"
|
||||||
|
"xorm.io/xorm"
|
||||||
|
)
|
||||||
|
|
||||||
|
func fixPackageSemverField(x *xorm.Engine) error {
|
||||||
|
_, err := x.Exec(builder.Update(builder.Eq{"semver_compatible": false}).From("`package`").Where(builder.In("`type`", "conan", "generic")))
|
||||||
|
return err
|
||||||
|
}
|
|
@ -342,8 +342,7 @@ func uploadFile(ctx *context.Context, fileFilter stringSet, fileKey string) {
|
||||||
Name: rref.Name,
|
Name: rref.Name,
|
||||||
Version: rref.Version,
|
Version: rref.Version,
|
||||||
},
|
},
|
||||||
SemverCompatible: true,
|
Creator: ctx.Doer,
|
||||||
Creator: ctx.Doer,
|
|
||||||
}
|
}
|
||||||
pfci := &packages_service.PackageFileCreationInfo{
|
pfci := &packages_service.PackageFileCreationInfo{
|
||||||
PackageFileInfo: packages_service.PackageFileInfo{
|
PackageFileInfo: packages_service.PackageFileInfo{
|
||||||
|
|
|
@ -267,7 +267,7 @@ func TestPackageConan(t *testing.T) {
|
||||||
|
|
||||||
pd, err := packages.GetPackageDescriptor(db.DefaultContext, pvs[0])
|
pd, err := packages.GetPackageDescriptor(db.DefaultContext, pvs[0])
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.NotNil(t, pd.SemVer)
|
assert.Nil(t, pd.SemVer)
|
||||||
assert.Equal(t, name, pd.Package.Name)
|
assert.Equal(t, name, pd.Package.Name)
|
||||||
assert.Equal(t, version1, pd.Version.Version)
|
assert.Equal(t, version1, pd.Version.Version)
|
||||||
assert.IsType(t, &conan_module.Metadata{}, pd.Metadata)
|
assert.IsType(t, &conan_module.Metadata{}, pd.Metadata)
|
||||||
|
|
Reference in a new issue