fix: preinstall sync plugins have priority over preinstall_async plugin (#106016)

pull/105896/head^2
Syerikjan Kh 2 months ago committed by GitHub
parent ef14992f00
commit b6c9ecf7fe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 8
      pkg/setting/setting_plugins.go
  2. 7
      pkg/setting/setting_plugins_test.go

@ -145,13 +145,15 @@ func (cfg *Cfg) readPluginSettings(iniFile *ini.File) error {
delete(preinstallPluginsAsync, disabledPlugin)
delete(preinstallPluginsSync, disabledPlugin)
}
for _, plugin := range preinstallPluginsSync {
cfg.PreinstallPluginsSync = append(cfg.PreinstallPluginsSync, plugin)
// preinstallSync plugin has priority over preinstallAsync
delete(preinstallPluginsAsync, plugin.ID)
}
for _, plugin := range preinstallPluginsAsync {
cfg.PreinstallPluginsAsync = append(cfg.PreinstallPluginsAsync, plugin)
}
for _, plugin := range preinstallPluginsSync {
cfg.PreinstallPluginsSync = append(cfg.PreinstallPluginsSync, plugin)
}
installPluginsInAsync := pluginsSection.Key("preinstall_async").MustBool(true)
if !installPluginsInAsync {
for key, plugin := range preinstallPluginsAsync {

@ -237,6 +237,13 @@ func Test_readPluginSettings(t *testing.T) {
return plugins
}(),
},
{
name: "when same plugin is defined in preinstall and preinstall_sync, should be only in preinstallSync",
rawInput: "plugin1",
rawInputSync: "plugin1",
expected: defaultPreinstallPluginsList,
expectedSync: []InstallPlugin{{ID: "plugin1"}},
},
}
for _, tc := range tests {
t.Run(tc.name, func(t *testing.T) {

Loading…
Cancel
Save