diff --git a/lib/modules/manager/types.ts b/lib/modules/manager/types.ts index a1e8ba2824d9df910bb8c82066853d487c169a4d..2ce51aa306a0d93b43f764686a3913adf39bd834 100644 --- a/lib/modules/manager/types.ts +++ b/lib/modules/manager/types.ts @@ -6,7 +6,12 @@ import type { ValidationMessage, } from '../../config/types'; import type { Category } from '../../constants'; -import type { ModuleApi, RangeStrategy, SkipReason } from '../../types'; +import type { + ModuleApi, + RangeStrategy, + SkipReason, + StageName, +} from '../../types'; import type { FileChange } from '../../util/git/types'; import type { MergeConfidence } from '../../util/merge-confidence/types'; import type { CustomExtractConfig } from './custom/types'; @@ -144,6 +149,7 @@ export interface PackageDependency<T = Record<string, any>> registryUrls?: string[] | null; rangeStrategy?: RangeStrategy; skipReason?: SkipReason; + skipStage?: StageName; sourceLine?: number; newVersion?: string; updates?: LookupUpdate[]; diff --git a/lib/types/index.ts b/lib/types/index.ts index a111c9ade7ea7d1210fa02c020bac4bb3d642ec5..4b6a9036088268b4dd1e0442ca8a9c5edf4bde07 100644 --- a/lib/types/index.ts +++ b/lib/types/index.ts @@ -1,6 +1,6 @@ export type { CommitMessageJSON } from './commit-message-json'; export type { HostRule, CombinedHostRule } from './host-rules'; -export type { SkipReason } from './skip-reason'; +export type { SkipReason, StageName } from './skip-reason'; export type { RangeStrategy } from './versioning'; export type { BranchStatus } from './branch-status'; export type { diff --git a/lib/types/skip-reason.ts b/lib/types/skip-reason.ts index 534d37b445b9341081c53877b0d251617864cafc..8ebf4568e4363fa9608fbfea19f4c6ce429d728b 100644 --- a/lib/types/skip-reason.ts +++ b/lib/types/skip-reason.ts @@ -50,8 +50,10 @@ export type SkipReason = export type StageName = | 'current-timestamp' | 'datasource-merge' + | 'extract' | 'lock-file-maintenance-merge' | 'lock-file-maintenance-merge-2' + | 'lookup' | 'pre-lookup' | 'source-url' | 'update-type' diff --git a/lib/workers/repository/process/extract-update.ts b/lib/workers/repository/process/extract-update.ts index e31b055a9e78e08f119801b8b7c71bf7cbe86185..75aecabd65a131a3a0cf946d6633c2808646f625 100644 --- a/lib/workers/repository/process/extract-update.ts +++ b/lib/workers/repository/process/extract-update.ts @@ -128,6 +128,10 @@ export async function extract( for (const file of files) { for (const dep of file.deps) { delete dep.updates; + if (dep.skipStage && dep.skipStage !== 'extract') { + delete dep.skipReason; + delete dep.skipStage; + } } } } diff --git a/lib/workers/repository/process/fetch.spec.ts b/lib/workers/repository/process/fetch.spec.ts index f891c6e81e6fd868e7c181f5e2fe7f70a05322c0..e68a4ce76f1647e7f7d5d283019dbfa7571821e6 100644 --- a/lib/workers/repository/process/fetch.spec.ts +++ b/lib/workers/repository/process/fetch.spec.ts @@ -59,18 +59,21 @@ describe('workers/repository/process/fetch', () => { depName: 'abcd', packageName: 'abcd', skipReason: 'ignored', + skipStage: 'lookup', updates: [], }, { depName: 'foo', packageName: 'foo', skipReason: 'disabled', + skipStage: 'lookup', updates: [], }, { depName: 'skipped', packageName: 'skipped', skipReason: 'some-reason', + skipStage: 'lookup', updates: [], }, ], diff --git a/lib/workers/repository/process/fetch.ts b/lib/workers/repository/process/fetch.ts index e9b17a4470f6bc91562c1a52b722af162cf6f711..36fd712277c32d6d31b568e8e493498dffcb12bb 100644 --- a/lib/workers/repository/process/fetch.ts +++ b/lib/workers/repository/process/fetch.ts @@ -172,6 +172,9 @@ export async function fetchUpdates( deps = []; packageDeps.set(packageFile, deps); } + if (dep.skipReason && !dep.skipStage) { + dep.skipStage = 'lookup'; + } deps.push(dep); } else { errors.push(err);