From 84c1b92899291146715fcca4a211a591078df5c5 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Sat, 14 Sep 2024 14:41:14 +0300 Subject: [PATCH 01/20] Fix migration registries table (#4111) --- .../migration/031_unify_columns_tables.go | 4 +++ .../migration/035_fix_v31_registries.go | 35 +++++++++++++++++++ server/store/datastore/migration/migration.go | 1 + 3 files changed, 40 insertions(+) create mode 100644 server/store/datastore/migration/035_fix_v31_registries.go diff --git a/server/store/datastore/migration/031_unify_columns_tables.go b/server/store/datastore/migration/031_unify_columns_tables.go index 881832b0f..16fd0e192 100644 --- a/server/store/datastore/migration/031_unify_columns_tables.go +++ b/server/store/datastore/migration/031_unify_columns_tables.go @@ -113,6 +113,10 @@ type registryV031 struct { Password string `xorm:"TEXT 'registry_password'"` } +func (registryV031) TableName() string { + return "registry" +} + type repoV031 struct { ID int64 `xorm:"pk autoincr 'repo_id'"` UserID int64 `xorm:"repo_user_id"` diff --git a/server/store/datastore/migration/035_fix_v31_registries.go b/server/store/datastore/migration/035_fix_v31_registries.go new file mode 100644 index 000000000..988e49541 --- /dev/null +++ b/server/store/datastore/migration/035_fix_v31_registries.go @@ -0,0 +1,35 @@ +// Copyright 2024 Woodpecker Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package migration + +import ( + "src.techknowlogick.com/xormigrate" + "xorm.io/xorm" +) + +var fixV31Registries = xormigrate.Migration{ + ID: "fix-v31-registries", + MigrateSession: func(sess *xorm.Session) (err error) { + has, err := sess.IsTableExist("registry_v031") + if err != nil { + return err + } + if has { + return sess.DropTable("registry_v031") + } + + return nil + }, +} diff --git a/server/store/datastore/migration/migration.go b/server/store/datastore/migration/migration.go index da9b1f732..48fc3c5ea 100644 --- a/server/store/datastore/migration/migration.go +++ b/server/store/datastore/migration/migration.go @@ -65,6 +65,7 @@ var migrationTasks = []*xormigrate.Migration{ &alterTableRegistriesFixRequiredFields, &cronWithoutSec, &renameStartEndTime, + &fixV31Registries, } var allBeans = []any{ From 83926133d4e0249e1040a7a75bd622d3cb18f17b Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Sat, 14 Sep 2024 18:27:45 +0300 Subject: [PATCH 02/20] Allow to restart declined pipelines (#4109) --- server/pipeline/restart.go | 6 ++---- web/src/views/repo/pipeline/PipelineWrapper.vue | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/server/pipeline/restart.go b/server/pipeline/restart.go index da0888511..3c997a290 100644 --- a/server/pipeline/restart.go +++ b/server/pipeline/restart.go @@ -36,10 +36,8 @@ func Restart(ctx context.Context, store store.Store, lastPipeline *model.Pipelin return nil, errors.New(msg) } - switch lastPipeline.Status { - case model.StatusDeclined, - model.StatusBlocked: - return nil, &ErrBadRequest{Msg: fmt.Sprintf("cannot restart a pipeline with status %s", lastPipeline.Status)} + if lastPipeline.Status == model.StatusBlocked { + return nil, &ErrBadRequest{Msg: "cannot restart a pipeline with status blocked"} } // fetch the old pipeline config from the database diff --git a/web/src/views/repo/pipeline/PipelineWrapper.vue b/web/src/views/repo/pipeline/PipelineWrapper.vue index dff059e24..a0b898c4c 100644 --- a/web/src/views/repo/pipeline/PipelineWrapper.vue +++ b/web/src/views/repo/pipeline/PipelineWrapper.vue @@ -31,7 +31,7 @@ }} -