diff --git a/lib/config/migration.ts b/lib/config/migration.ts index 38b7637d1ac5b3f714c0f67de5cb523c29b87e27..d7619dbf07d93bf9920279e1d7f72d999721e29c 100644 --- a/lib/config/migration.ts +++ b/lib/config/migration.ts @@ -189,11 +189,6 @@ export function migrateConfig(config: RenovateConfig): MigratedConfig { if (subMigrate.isMigrated) { migratedConfig[key] = subMigrate.migratedConfig; } - } else if (key === 'azureAutoComplete' || key === 'gitLabAutomerge') { - if (migratedConfig[key] !== undefined) { - migratedConfig.platformAutomerge = migratedConfig[key]; - } - delete migratedConfig[key]; } const migratedTemplates = { diff --git a/lib/config/migrations/custom/azure-gitlab-automerge-migration.spec.ts b/lib/config/migrations/custom/azure-gitlab-automerge-migration.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..bc581e0848606a97c8b27962d8e934cb0f31ec60 --- /dev/null +++ b/lib/config/migrations/custom/azure-gitlab-automerge-migration.spec.ts @@ -0,0 +1,67 @@ +import { AzureGitLabAutomergeMigration } from './azure-gitlab-automerge-migration'; + +describe('config/migrations/custom/azure-gitlab-automerge-migration', () => { + it('should migrate non undefined gitLabAutomerge', () => { + expect(AzureGitLabAutomergeMigration).toMigrate( + { + gitLabAutomerge: true, + }, + { + platformAutomerge: true, + } + ); + }); + + it('should just remove undefined gitLabAutomerge', () => { + expect(AzureGitLabAutomergeMigration).toMigrate( + { + gitLabAutomerge: undefined, + }, + {} + ); + }); + + it('should override platformAutomerge when gitLabAutomerge defined', () => { + expect(AzureGitLabAutomergeMigration).toMigrate( + { + gitLabAutomerge: true, + platformAutomerge: false, + }, + { + platformAutomerge: true, + } + ); + }); + + it('should migrate non undefined azureAutoComplete', () => { + expect(AzureGitLabAutomergeMigration).toMigrate( + { + azureAutoComplete: true, + }, + { + platformAutomerge: true, + } + ); + }); + + it('should just remove undefined azureAutoComplete', () => { + expect(AzureGitLabAutomergeMigration).toMigrate( + { + azureAutoComplete: undefined, + }, + {} + ); + }); + + it('should override platformAutomerge when azureAutoComplete defined', () => { + expect(AzureGitLabAutomergeMigration).toMigrate( + { + azureAutoComplete: true, + platformAutomerge: false, + }, + { + platformAutomerge: true, + } + ); + }); +}); diff --git a/lib/config/migrations/custom/azure-gitlab-automerge-migration.ts b/lib/config/migrations/custom/azure-gitlab-automerge-migration.ts new file mode 100644 index 0000000000000000000000000000000000000000..ee437d3c7906742fcecb832c7b5a174269da69f2 --- /dev/null +++ b/lib/config/migrations/custom/azure-gitlab-automerge-migration.ts @@ -0,0 +1,12 @@ +import { AbstractMigration } from '../base/abstract-migration'; + +export class AzureGitLabAutomergeMigration extends AbstractMigration { + override readonly deprecated = true; + override readonly propertyName = /^azureAutoComplete$|^gitLabAutomerge$/; + + override run(value: unknown): void { + if (value !== undefined) { + this.setHard('platformAutomerge', value); + } + } +} diff --git a/lib/config/migrations/migrations-service.ts b/lib/config/migrations/migrations-service.ts index 2c5dda0f3b85b68f30d3dc9340799095a929c792..dc4b2140364e5ddd2c62b1a4641d5096b73f440c 100644 --- a/lib/config/migrations/migrations-service.ts +++ b/lib/config/migrations/migrations-service.ts @@ -8,6 +8,7 @@ import { AutomergeMigration } from './custom/automerge-migration'; import { AutomergeMinorMigration } from './custom/automerge-minor-migration'; import { AutomergePatchMigration } from './custom/automerge-patch-migration'; import { AutomergeTypeMigration } from './custom/automerge-type-migration'; +import { AzureGitLabAutomergeMigration } from './custom/azure-gitlab-automerge-migration'; import { BaseBranchMigration } from './custom/base-branch-migration'; import { BinarySourceMigration } from './custom/binary-source-migration'; import { BranchNameMigration } from './custom/branch-name-migration'; @@ -77,6 +78,7 @@ export class MigrationsService { AutomergeMinorMigration, AutomergePatchMigration, AutomergeTypeMigration, + AzureGitLabAutomergeMigration, BaseBranchMigration, BinarySourceMigration, BranchNameMigration,