renovate 42.3.0 → 42.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/modules/manager/copier/artifacts.js +1 -1
- package/dist/modules/manager/copier/artifacts.js.map +1 -1
- package/dist/modules/manager/fingerprint.generated.js +1 -1
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/homebrew/extract.js +1 -1
- package/dist/modules/manager/homebrew/extract.js.map +1 -1
- package/dist/modules/manager/pep621/schema.d.ts +1 -1
- package/dist/modules/manager/pep621/schema.js +1 -0
- package/dist/modules/manager/pep621/schema.js.map +1 -1
- package/dist/modules/manager/poetry/schema.d.ts +4 -0
- package/dist/modules/manager/poetry/schema.js +5 -1
- package/dist/modules/manager/poetry/schema.js.map +1 -1
- package/dist/modules/platform/bitbucket-server/pr-cache.js +1 -1
- package/dist/modules/platform/bitbucket-server/pr-cache.js.map +1 -1
- package/dist/modules/platform/forgejo/pr-cache.js +1 -1
- package/dist/modules/platform/forgejo/pr-cache.js.map +1 -1
- package/dist/modules/platform/gitea/pr-cache.js +1 -1
- package/dist/modules/platform/gitea/pr-cache.js.map +1 -1
- package/dist/modules/versioning/ivy/parse.js +1 -1
- package/dist/modules/versioning/ivy/parse.js.map +1 -1
- package/dist/modules/versioning/maven/index.js +1 -1
- package/dist/modules/versioning/maven/index.js.map +1 -1
- package/dist/modules/versioning/nuget/index.js +1 -1
- package/dist/modules/versioning/nuget/index.js.map +1 -1
- package/dist/util/git/behind-base-branch-cache.js +2 -1
- package/dist/util/git/behind-base-branch-cache.js.map +1 -1
- package/dist/util/git/conflicts-cache.js +2 -1
- package/dist/util/git/conflicts-cache.js.map +1 -1
- package/dist/util/git/index.js +2 -2
- package/dist/util/git/index.js.map +1 -1
- package/dist/util/github/graphql/datasource-fetcher.js +2 -1
- package/dist/util/github/graphql/datasource-fetcher.js.map +1 -1
- package/dist/util/http/retry-after.js +3 -4
- package/dist/util/http/retry-after.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/check.js +2 -1
- package/dist/workers/repository/onboarding/branch/check.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/index.js +2 -2
- package/dist/workers/repository/onboarding/branch/index.js.map +1 -1
- package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js +3 -3
- package/dist/workers/repository/onboarding/branch/onboarding-branch-cache.js.map +1 -1
- package/package.json +5 -5
- package/renovate-schema.json +2 -2
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isOnboarded = isOnboarded;
|
|
4
4
|
exports.getOnboardingPr = getOnboardingPr;
|
|
5
|
+
const is_1 = require("@sindresorhus/is");
|
|
5
6
|
const app_strings_1 = require("../../../../config/app-strings");
|
|
6
7
|
const error_messages_1 = require("../../../../constants/error-messages");
|
|
7
8
|
const logger_1 = require("../../../../logger");
|
|
@@ -82,7 +83,7 @@ async function isOnboarded(config) {
|
|
|
82
83
|
// if closed pr exists then presence of onboarding cache doesn't matter as we need to skip onboarding
|
|
83
84
|
if (config.onboarding &&
|
|
84
85
|
!closedOnboardingPr &&
|
|
85
|
-
onboardingBranchCache &&
|
|
86
|
+
(0, is_1.isNonEmptyObject)(onboardingBranchCache) &&
|
|
86
87
|
onboardingBranchCache.defaultBranchSha ===
|
|
87
88
|
(0, git_1.getBranchCommit)(config.defaultBranch)) {
|
|
88
89
|
logger_1.logger.debug('Onboarding cache is valid. Repo is not onboarded');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/onboarding/branch/check.ts"],"names":[],"mappings":"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","sourcesContent":["import { getConfigFileNames } from '../../../../config/app-strings';\nimport type { RenovateConfig } from '../../../../config/types';\nimport {\n REPOSITORY_CLOSED_ONBOARDING,\n REPOSITORY_NO_CONFIG,\n} from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport type { Pr } from '../../../../modules/platform';\nimport { platform } from '../../../../modules/platform';\nimport { ensureComment } from '../../../../modules/platform/comment';\nimport { scm } from '../../../../modules/platform/scm';\nimport { getCache } from '../../../../util/cache/repository';\nimport { readLocalFile } from '../../../../util/fs';\nimport { getBranchCommit } from '../../../../util/git';\nimport { getSemanticCommitPrTitle } from '../common';\n\nasync function findFile(fileName: string): Promise<boolean> {\n logger.debug(`findFile(${fileName})`);\n const fileList = await scm.getFileList();\n return fileList.includes(fileName);\n}\n\nasync function configFileExists(): Promise<boolean> {\n for (const fileName of getConfigFileNames()) {\n if (fileName !== 'package.json' && (await findFile(fileName))) {\n logger.debug(`Config file exists, fileName: ${fileName}`);\n return true;\n }\n }\n return false;\n}\n\nasync function packageJsonConfigExists(): Promise<boolean> {\n try {\n // TODO #22198\n const pJson = JSON.parse((await readLocalFile('package.json', 'utf8'))!);\n if (pJson.renovate) {\n return true;\n }\n } catch {\n // Do nothing\n }\n return false;\n}\n\nasync function closedPrExists(config: RenovateConfig): Promise<Pr | null> {\n return (\n (await platform.findPr({\n branchName: config.onboardingBranch!,\n prTitle: config.onboardingPrTitle,\n state: '!open',\n targetBranch: config.baseBranch,\n })) ??\n (await platform.findPr({\n branchName: config.onboardingBranch!,\n prTitle: getSemanticCommitPrTitle(config),\n state: '!open',\n targetBranch: config.baseBranch,\n }))\n );\n}\n\nexport async function isOnboarded(config: RenovateConfig): Promise<boolean> {\n logger.debug('isOnboarded()');\n const title = `Action required: Add a Renovate config`;\n\n // Repo is onboarded if in silent mode\n if (config.mode === 'silent') {\n logger.debug('Silent mode enabled so repo is considered onboarded');\n return true;\n }\n\n // Repo is onboarded if global config is bypassing onboarding and does not require a\n // configuration file.\n // The repo is considered \"not onboarded\" if:\n // - An onboarding cache is present, and\n // - The current default branch SHA matches the default SHA found in the cache\n // Also if there is a closed pr skip using cache as it is outdated\n if (config.requireConfig === 'optional' && config.onboarding === false) {\n // Return early and avoid checking for config files\n return true;\n }\n if (config.requireConfig === 'ignored') {\n logger.debug('Config file will be ignored');\n return true;\n }\n\n const closedOnboardingPr = await closedPrExists(config);\n const cache = getCache();\n const onboardingBranchCache = cache?.onboardingBranchCache;\n // if onboarding cache is present and base branch has not been updated; branch is not onboarded\n // if closed pr exists then presence of onboarding cache doesn't matter as we need to skip onboarding\n if (\n config.onboarding &&\n !closedOnboardingPr &&\n onboardingBranchCache &&\n onboardingBranchCache.defaultBranchSha ===\n getBranchCommit(config.defaultBranch!)\n ) {\n logger.debug('Onboarding cache is valid. Repo is not onboarded');\n return false;\n }\n\n // when bot is ran is fork mode ... do not fetch file using api call instead use the git.fileList so we get sync first and get the latest config\n // prevents https://github.com/renovatebot/renovate/discussions/37328\n if (cache.configFileName && !config.forkToken) {\n logger.debug('Checking cached config file name');\n try {\n const configFileContent = await platform.getJsonFile(\n cache.configFileName,\n );\n if (configFileContent) {\n if (\n cache.configFileName !== 'package.json' ||\n configFileContent.renovate\n ) {\n logger.debug('Existing config file confirmed');\n logger.debug(\n { fileName: cache.configFileName, config: configFileContent },\n 'Repository config',\n );\n return true;\n }\n }\n } catch {\n // probably file doesn't exist\n }\n logger.debug('Existing config file no longer exists');\n delete cache.configFileName;\n }\n if (await configFileExists()) {\n await platform.ensureIssueClosing(title);\n return true;\n }\n logger.debug('config file not found');\n if (await packageJsonConfigExists()) {\n logger.debug('package.json contains config');\n await platform.ensureIssueClosing(title);\n return true;\n }\n\n // If onboarding has been disabled and config files are required then the\n // repository has not been onboarded yet\n if (config.requireConfig === 'required' && config.onboarding === false) {\n throw new Error(REPOSITORY_NO_CONFIG);\n }\n\n if (!closedOnboardingPr) {\n logger.debug('Found no closed onboarding PR');\n return false;\n }\n logger.debug('Found closed onboarding PR');\n if (config.requireConfig === 'optional') {\n logger.debug('Config not mandatory so repo is considered onboarded');\n return true;\n }\n logger.debug('Repo is not onboarded and no merged PRs exist');\n if (!config.suppressNotifications!.includes('onboardingClose')) {\n // ensure PR comment\n await ensureComment({\n number: closedOnboardingPr.number,\n topic: `Renovate is disabled`,\n content: `Renovate is disabled because there is no Renovate configuration file. To enable Renovate, you can either (a) change this PR's title to get a new onboarding PR, and merge the new onboarding PR, or (b) create a Renovate config file, and commit that file to your base branch.`,\n });\n }\n throw new Error(REPOSITORY_CLOSED_ONBOARDING);\n}\n\nexport async function getOnboardingPr(\n config: RenovateConfig,\n): Promise<Pr | null> {\n return await platform.getBranchPr(\n config.onboardingBranch!,\n config.baseBranch,\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/onboarding/branch/check.ts"],"names":[],"mappings":"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","sourcesContent":["import { isNonEmptyObject } from '@sindresorhus/is';\nimport { getConfigFileNames } from '../../../../config/app-strings';\nimport type { RenovateConfig } from '../../../../config/types';\nimport {\n REPOSITORY_CLOSED_ONBOARDING,\n REPOSITORY_NO_CONFIG,\n} from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport type { Pr } from '../../../../modules/platform';\nimport { platform } from '../../../../modules/platform';\nimport { ensureComment } from '../../../../modules/platform/comment';\nimport { scm } from '../../../../modules/platform/scm';\nimport { getCache } from '../../../../util/cache/repository';\nimport { readLocalFile } from '../../../../util/fs';\nimport { getBranchCommit } from '../../../../util/git';\nimport { getSemanticCommitPrTitle } from '../common';\n\nasync function findFile(fileName: string): Promise<boolean> {\n logger.debug(`findFile(${fileName})`);\n const fileList = await scm.getFileList();\n return fileList.includes(fileName);\n}\n\nasync function configFileExists(): Promise<boolean> {\n for (const fileName of getConfigFileNames()) {\n if (fileName !== 'package.json' && (await findFile(fileName))) {\n logger.debug(`Config file exists, fileName: ${fileName}`);\n return true;\n }\n }\n return false;\n}\n\nasync function packageJsonConfigExists(): Promise<boolean> {\n try {\n // TODO #22198\n const pJson = JSON.parse((await readLocalFile('package.json', 'utf8'))!);\n if (pJson.renovate) {\n return true;\n }\n } catch {\n // Do nothing\n }\n return false;\n}\n\nasync function closedPrExists(config: RenovateConfig): Promise<Pr | null> {\n return (\n (await platform.findPr({\n branchName: config.onboardingBranch!,\n prTitle: config.onboardingPrTitle,\n state: '!open',\n targetBranch: config.baseBranch,\n })) ??\n (await platform.findPr({\n branchName: config.onboardingBranch!,\n prTitle: getSemanticCommitPrTitle(config),\n state: '!open',\n targetBranch: config.baseBranch,\n }))\n );\n}\n\nexport async function isOnboarded(config: RenovateConfig): Promise<boolean> {\n logger.debug('isOnboarded()');\n const title = `Action required: Add a Renovate config`;\n\n // Repo is onboarded if in silent mode\n if (config.mode === 'silent') {\n logger.debug('Silent mode enabled so repo is considered onboarded');\n return true;\n }\n\n // Repo is onboarded if global config is bypassing onboarding and does not require a\n // configuration file.\n // The repo is considered \"not onboarded\" if:\n // - An onboarding cache is present, and\n // - The current default branch SHA matches the default SHA found in the cache\n // Also if there is a closed pr skip using cache as it is outdated\n if (config.requireConfig === 'optional' && config.onboarding === false) {\n // Return early and avoid checking for config files\n return true;\n }\n if (config.requireConfig === 'ignored') {\n logger.debug('Config file will be ignored');\n return true;\n }\n\n const closedOnboardingPr = await closedPrExists(config);\n const cache = getCache();\n const onboardingBranchCache = cache?.onboardingBranchCache;\n // if onboarding cache is present and base branch has not been updated; branch is not onboarded\n // if closed pr exists then presence of onboarding cache doesn't matter as we need to skip onboarding\n if (\n config.onboarding &&\n !closedOnboardingPr &&\n isNonEmptyObject(onboardingBranchCache) &&\n onboardingBranchCache.defaultBranchSha ===\n getBranchCommit(config.defaultBranch!)\n ) {\n logger.debug('Onboarding cache is valid. Repo is not onboarded');\n return false;\n }\n\n // when bot is ran is fork mode ... do not fetch file using api call instead use the git.fileList so we get sync first and get the latest config\n // prevents https://github.com/renovatebot/renovate/discussions/37328\n if (cache.configFileName && !config.forkToken) {\n logger.debug('Checking cached config file name');\n try {\n const configFileContent = await platform.getJsonFile(\n cache.configFileName,\n );\n if (configFileContent) {\n if (\n cache.configFileName !== 'package.json' ||\n configFileContent.renovate\n ) {\n logger.debug('Existing config file confirmed');\n logger.debug(\n { fileName: cache.configFileName, config: configFileContent },\n 'Repository config',\n );\n return true;\n }\n }\n } catch {\n // probably file doesn't exist\n }\n logger.debug('Existing config file no longer exists');\n delete cache.configFileName;\n }\n if (await configFileExists()) {\n await platform.ensureIssueClosing(title);\n return true;\n }\n logger.debug('config file not found');\n if (await packageJsonConfigExists()) {\n logger.debug('package.json contains config');\n await platform.ensureIssueClosing(title);\n return true;\n }\n\n // If onboarding has been disabled and config files are required then the\n // repository has not been onboarded yet\n if (config.requireConfig === 'required' && config.onboarding === false) {\n throw new Error(REPOSITORY_NO_CONFIG);\n }\n\n if (!closedOnboardingPr) {\n logger.debug('Found no closed onboarding PR');\n return false;\n }\n logger.debug('Found closed onboarding PR');\n if (config.requireConfig === 'optional') {\n logger.debug('Config not mandatory so repo is considered onboarded');\n return true;\n }\n logger.debug('Repo is not onboarded and no merged PRs exist');\n if (!config.suppressNotifications!.includes('onboardingClose')) {\n // ensure PR comment\n await ensureComment({\n number: closedOnboardingPr.number,\n topic: `Renovate is disabled`,\n content: `Renovate is disabled because there is no Renovate configuration file. To enable Renovate, you can either (a) change this PR's title to get a new onboarding PR, and merge the new onboarding PR, or (b) create a Renovate config file, and commit that file to your base branch.`,\n });\n }\n throw new Error(REPOSITORY_CLOSED_ONBOARDING);\n}\n\nexport async function getOnboardingPr(\n config: RenovateConfig,\n): Promise<Pr | null> {\n return await platform.getBranchPr(\n config.onboardingBranch!,\n config.baseBranch,\n );\n}\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.checkOnboardingBranch = checkOnboardingBranch;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const is_1 = tslib_1.
|
|
5
|
+
const is_1 = tslib_1.__importStar(require("@sindresorhus/is"));
|
|
6
6
|
const config_1 = require("../../../../config");
|
|
7
7
|
const global_1 = require("../../../../config/global");
|
|
8
8
|
const error_messages_1 = require("../../../../constants/error-messages");
|
|
@@ -131,7 +131,7 @@ function invalidateExtractCache(baseBranch) {
|
|
|
131
131
|
function isOnboardingCacheValid(defaultBranch, onboardingBranch) {
|
|
132
132
|
const cache = (0, repository_1.getCache)();
|
|
133
133
|
const onboardingBranchCache = cache?.onboardingBranchCache;
|
|
134
|
-
return !!(onboardingBranchCache &&
|
|
134
|
+
return !!((0, is_1.isNonEmptyObject)(onboardingBranchCache) &&
|
|
135
135
|
onboardingBranchCache.defaultBranchSha === (0, git_1.getBranchCommit)(defaultBranch) &&
|
|
136
136
|
onboardingBranchCache.onboardingBranchSha ===
|
|
137
137
|
(0, git_1.getBranchCommit)(onboardingBranch) &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/onboarding/branch/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is from '@sindresorhus/is';\nimport { mergeChildConfig } from '../../../../config';\nimport { GlobalConfig } from '../../../../config/global';\nimport type { RenovateConfig } from '../../../../config/types';\nimport { REPOSITORY_NO_PACKAGE_FILES } from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport { type Pr, platform } from '../../../../modules/platform';\nimport { scm } from '../../../../modules/platform/scm';\nimport { getCache } from '../../../../util/cache/repository';\nimport { getBranchCommit, setGitAuthor } from '../../../../util/git';\nimport { checkIfConfigured } from '../../configured';\nimport { extractAllDependencies } from '../../extract';\nimport { mergeRenovateConfig } from '../../init/merge';\nimport { OnboardingState } from '../common';\nimport { getOnboardingPr, isOnboarded } from './check';\nimport { getOnboardingConfig } from './config';\nimport { createOnboardingBranch } from './create';\nimport {\n deleteOnboardingCache,\n hasOnboardingBranchChanged,\n isOnboardingBranchConflicted,\n isOnboardingBranchModified,\n setOnboardingCache,\n} from './onboarding-branch-cache';\nimport { rebaseOnboardingBranch } from './rebase';\n\nexport async function checkOnboardingBranch(\n config: RenovateConfig,\n): Promise<RenovateConfig> {\n logger.debug('checkOnboarding()');\n logger.trace({ config });\n let onboardingBranch = config.onboardingBranch;\n const defaultBranch = config.defaultBranch!;\n let isConflicted = false;\n let isModified = false;\n const repoIsOnboarded = await isOnboarded(config);\n if (repoIsOnboarded) {\n logger.debug('Repo is onboarded');\n\n // delete onboarding cache\n deleteOnboardingCache();\n return { ...config, repoIsOnboarded };\n }\n checkIfConfigured(config);\n\n logger.debug('Repo is not onboarded');\n // global gitAuthor will need to be used\n setGitAuthor(config.gitAuthor);\n const onboardingPr = await getOnboardingPr(config);\n // TODO #22198\n const branchList = [onboardingBranch!];\n if (onboardingPr) {\n logger.debug('Onboarding PR already exists');\n\n isModified = await isOnboardingBranchModified(\n config.onboardingBranch!,\n defaultBranch,\n );\n // if onboarding branch is not modified, check if onboarding config has been changed and rebase if true\n if (!isModified) {\n const commit = await rebaseOnboardingBranch(\n config,\n onboardingPr.bodyStruct?.rawConfigHash,\n );\n if (commit) {\n logger.info(\n { branch: config.onboardingBranch, commit, onboarding: true },\n 'Branch updated',\n );\n }\n // istanbul ignore if\n if (platform.refreshPr) {\n await platform.refreshPr(onboardingPr.number);\n }\n }\n if (config.onboardingRebaseCheckbox) {\n handleOnboardingManualRebase(onboardingPr);\n }\n\n if (\n isConfigHashPresent(onboardingPr) && // needed so that existing onboarding PRs are updated with config hash comment\n isOnboardingCacheValid(defaultBranch, config.onboardingBranch!) &&\n !(config.onboardingRebaseCheckbox && OnboardingState.prUpdateRequested)\n ) {\n logger.debug(\n 'Skip processing since the onboarding branch is up to date and default branch has not changed',\n );\n OnboardingState.onboardingCacheValid = true;\n return { ...config, repoIsOnboarded, onboardingBranch, branchList };\n }\n OnboardingState.onboardingCacheValid = false;\n if (isModified) {\n if (hasOnboardingBranchChanged(config.onboardingBranch!)) {\n invalidateExtractCache(config.baseBranch!);\n }\n isConflicted = await isOnboardingBranchConflicted(\n config.baseBranch!,\n config.onboardingBranch!,\n );\n }\n } else {\n logger.debug('Onboarding PR does not exist');\n const onboardingConfig = await getOnboardingConfig(config);\n let mergedConfig = mergeChildConfig(config, onboardingConfig);\n mergedConfig = await mergeRenovateConfig(mergedConfig);\n onboardingBranch = mergedConfig.onboardingBranch;\n\n if (\n Object.entries((await extractAllDependencies(mergedConfig)).packageFiles)\n .length === 0\n ) {\n if (config.onboardingNoDeps !== 'enabled') {\n throw new Error(REPOSITORY_NO_PACKAGE_FILES);\n }\n }\n logger.debug('Need to create onboarding PR');\n if (config.onboardingRebaseCheckbox) {\n OnboardingState.prUpdateRequested = true;\n }\n const commit = await createOnboardingBranch(mergedConfig);\n // istanbul ignore if\n if (commit) {\n logger.info(\n { branch: onboardingBranch, commit, onboarding: true },\n 'Branch created',\n );\n }\n }\n if (!GlobalConfig.get('dryRun')) {\n // TODO #22198\n if (!isConflicted) {\n logger.debug('Merge onboarding branch in default branch');\n await scm.mergeToLocal(onboardingBranch!);\n }\n }\n setOnboardingCache(\n getBranchCommit(config.defaultBranch!)!,\n getBranchCommit(onboardingBranch!)!,\n isConflicted,\n isModified,\n );\n\n return { ...config, repoIsOnboarded, onboardingBranch, branchList };\n}\n\nfunction handleOnboardingManualRebase(onboardingPr: Pr): void {\n const pl = GlobalConfig.get('platform')!;\n const { rebaseRequested } = onboardingPr.bodyStruct ?? {};\n if (!['github', 'gitlab', 'gitea'].includes(pl)) {\n logger.trace(`Platform '${pl}' does not support extended markdown`);\n OnboardingState.prUpdateRequested = true;\n } else if (is.nullOrUndefined(rebaseRequested)) {\n logger.debug('No rebase checkbox was found in the onboarding PR');\n OnboardingState.prUpdateRequested = true;\n } else if (rebaseRequested) {\n logger.debug('Manual onboarding PR update requested');\n OnboardingState.prUpdateRequested = true;\n }\n}\n\nfunction invalidateExtractCache(baseBranch: string): void {\n const cache = getCache();\n cache.scan ??= {};\n\n if (cache.scan?.[baseBranch]) {\n delete cache.scan[baseBranch];\n }\n}\n\nfunction isOnboardingCacheValid(\n defaultBranch: string,\n onboardingBranch: string,\n): boolean {\n const cache = getCache();\n const onboardingBranchCache = cache?.onboardingBranchCache;\n return !!(\n onboardingBranchCache &&\n onboardingBranchCache.defaultBranchSha === getBranchCommit(defaultBranch) &&\n onboardingBranchCache.onboardingBranchSha ===\n getBranchCommit(onboardingBranch) &&\n onboardingBranchCache.configFileName &&\n onboardingBranchCache.configFileParsed\n );\n}\n\nfunction isConfigHashPresent(pr: Pr): boolean {\n const platform = GlobalConfig.get('platform')!;\n // if platform does not support html comments return true\n if (!['github', 'gitlab', 'gitea'].includes(platform)) {\n return true;\n }\n\n return !!pr.bodyStruct?.rawConfigHash;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/onboarding/branch/index.ts"],"names":[],"mappings":"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","sourcesContent":["import is, { isNonEmptyObject } from '@sindresorhus/is';\nimport { mergeChildConfig } from '../../../../config';\nimport { GlobalConfig } from '../../../../config/global';\nimport type { RenovateConfig } from '../../../../config/types';\nimport { REPOSITORY_NO_PACKAGE_FILES } from '../../../../constants/error-messages';\nimport { logger } from '../../../../logger';\nimport { type Pr, platform } from '../../../../modules/platform';\nimport { scm } from '../../../../modules/platform/scm';\nimport { getCache } from '../../../../util/cache/repository';\nimport { getBranchCommit, setGitAuthor } from '../../../../util/git';\nimport { checkIfConfigured } from '../../configured';\nimport { extractAllDependencies } from '../../extract';\nimport { mergeRenovateConfig } from '../../init/merge';\nimport { OnboardingState } from '../common';\nimport { getOnboardingPr, isOnboarded } from './check';\nimport { getOnboardingConfig } from './config';\nimport { createOnboardingBranch } from './create';\nimport {\n deleteOnboardingCache,\n hasOnboardingBranchChanged,\n isOnboardingBranchConflicted,\n isOnboardingBranchModified,\n setOnboardingCache,\n} from './onboarding-branch-cache';\nimport { rebaseOnboardingBranch } from './rebase';\n\nexport async function checkOnboardingBranch(\n config: RenovateConfig,\n): Promise<RenovateConfig> {\n logger.debug('checkOnboarding()');\n logger.trace({ config });\n let onboardingBranch = config.onboardingBranch;\n const defaultBranch = config.defaultBranch!;\n let isConflicted = false;\n let isModified = false;\n const repoIsOnboarded = await isOnboarded(config);\n if (repoIsOnboarded) {\n logger.debug('Repo is onboarded');\n\n // delete onboarding cache\n deleteOnboardingCache();\n return { ...config, repoIsOnboarded };\n }\n checkIfConfigured(config);\n\n logger.debug('Repo is not onboarded');\n // global gitAuthor will need to be used\n setGitAuthor(config.gitAuthor);\n const onboardingPr = await getOnboardingPr(config);\n // TODO #22198\n const branchList = [onboardingBranch!];\n if (onboardingPr) {\n logger.debug('Onboarding PR already exists');\n\n isModified = await isOnboardingBranchModified(\n config.onboardingBranch!,\n defaultBranch,\n );\n // if onboarding branch is not modified, check if onboarding config has been changed and rebase if true\n if (!isModified) {\n const commit = await rebaseOnboardingBranch(\n config,\n onboardingPr.bodyStruct?.rawConfigHash,\n );\n if (commit) {\n logger.info(\n { branch: config.onboardingBranch, commit, onboarding: true },\n 'Branch updated',\n );\n }\n // istanbul ignore if\n if (platform.refreshPr) {\n await platform.refreshPr(onboardingPr.number);\n }\n }\n if (config.onboardingRebaseCheckbox) {\n handleOnboardingManualRebase(onboardingPr);\n }\n\n if (\n isConfigHashPresent(onboardingPr) && // needed so that existing onboarding PRs are updated with config hash comment\n isOnboardingCacheValid(defaultBranch, config.onboardingBranch!) &&\n !(config.onboardingRebaseCheckbox && OnboardingState.prUpdateRequested)\n ) {\n logger.debug(\n 'Skip processing since the onboarding branch is up to date and default branch has not changed',\n );\n OnboardingState.onboardingCacheValid = true;\n return { ...config, repoIsOnboarded, onboardingBranch, branchList };\n }\n OnboardingState.onboardingCacheValid = false;\n if (isModified) {\n if (hasOnboardingBranchChanged(config.onboardingBranch!)) {\n invalidateExtractCache(config.baseBranch!);\n }\n isConflicted = await isOnboardingBranchConflicted(\n config.baseBranch!,\n config.onboardingBranch!,\n );\n }\n } else {\n logger.debug('Onboarding PR does not exist');\n const onboardingConfig = await getOnboardingConfig(config);\n let mergedConfig = mergeChildConfig(config, onboardingConfig);\n mergedConfig = await mergeRenovateConfig(mergedConfig);\n onboardingBranch = mergedConfig.onboardingBranch;\n\n if (\n Object.entries((await extractAllDependencies(mergedConfig)).packageFiles)\n .length === 0\n ) {\n if (config.onboardingNoDeps !== 'enabled') {\n throw new Error(REPOSITORY_NO_PACKAGE_FILES);\n }\n }\n logger.debug('Need to create onboarding PR');\n if (config.onboardingRebaseCheckbox) {\n OnboardingState.prUpdateRequested = true;\n }\n const commit = await createOnboardingBranch(mergedConfig);\n // istanbul ignore if\n if (commit) {\n logger.info(\n { branch: onboardingBranch, commit, onboarding: true },\n 'Branch created',\n );\n }\n }\n if (!GlobalConfig.get('dryRun')) {\n // TODO #22198\n if (!isConflicted) {\n logger.debug('Merge onboarding branch in default branch');\n await scm.mergeToLocal(onboardingBranch!);\n }\n }\n setOnboardingCache(\n getBranchCommit(config.defaultBranch!)!,\n getBranchCommit(onboardingBranch!)!,\n isConflicted,\n isModified,\n );\n\n return { ...config, repoIsOnboarded, onboardingBranch, branchList };\n}\n\nfunction handleOnboardingManualRebase(onboardingPr: Pr): void {\n const pl = GlobalConfig.get('platform')!;\n const { rebaseRequested } = onboardingPr.bodyStruct ?? {};\n if (!['github', 'gitlab', 'gitea'].includes(pl)) {\n logger.trace(`Platform '${pl}' does not support extended markdown`);\n OnboardingState.prUpdateRequested = true;\n } else if (is.nullOrUndefined(rebaseRequested)) {\n logger.debug('No rebase checkbox was found in the onboarding PR');\n OnboardingState.prUpdateRequested = true;\n } else if (rebaseRequested) {\n logger.debug('Manual onboarding PR update requested');\n OnboardingState.prUpdateRequested = true;\n }\n}\n\nfunction invalidateExtractCache(baseBranch: string): void {\n const cache = getCache();\n cache.scan ??= {};\n\n if (cache.scan?.[baseBranch]) {\n delete cache.scan[baseBranch];\n }\n}\n\nfunction isOnboardingCacheValid(\n defaultBranch: string,\n onboardingBranch: string,\n): boolean {\n const cache = getCache();\n const onboardingBranchCache = cache?.onboardingBranchCache;\n return !!(\n isNonEmptyObject(onboardingBranchCache) &&\n onboardingBranchCache.defaultBranchSha === getBranchCommit(defaultBranch) &&\n onboardingBranchCache.onboardingBranchSha ===\n getBranchCommit(onboardingBranch) &&\n onboardingBranchCache.configFileName &&\n onboardingBranchCache.configFileParsed\n );\n}\n\nfunction isConfigHashPresent(pr: Pr): boolean {\n const platform = GlobalConfig.get('platform')!;\n // if platform does not support html comments return true\n if (!['github', 'gitlab', 'gitea'].includes(platform)) {\n return true;\n }\n\n return !!pr.bodyStruct?.rawConfigHash;\n}\n"]}
|
|
@@ -9,7 +9,7 @@ exports.getOnboardingConfigFromCache = getOnboardingConfigFromCache;
|
|
|
9
9
|
exports.setOnboardingConfigDetails = setOnboardingConfigDetails;
|
|
10
10
|
exports.isOnboardingBranchConflicted = isOnboardingBranchConflicted;
|
|
11
11
|
const tslib_1 = require("tslib");
|
|
12
|
-
const is_1 = tslib_1.
|
|
12
|
+
const is_1 = tslib_1.__importStar(require("@sindresorhus/is"));
|
|
13
13
|
const logger_1 = require("../../../../logger");
|
|
14
14
|
const scm_1 = require("../../../../modules/platform/scm");
|
|
15
15
|
const repository_1 = require("../../../../util/cache/repository");
|
|
@@ -60,7 +60,7 @@ async function isOnboardingBranchModified(onboardingBranch, defaultBranch) {
|
|
|
60
60
|
const onboardingCache = cache.onboardingBranchCache;
|
|
61
61
|
const onboardingSha = (0, git_1.getBranchCommit)(onboardingBranch);
|
|
62
62
|
let isModified = false;
|
|
63
|
-
if (onboardingCache &&
|
|
63
|
+
if ((0, is_1.isNonEmptyObject)(onboardingCache) &&
|
|
64
64
|
onboardingSha === onboardingCache.onboardingBranchSha &&
|
|
65
65
|
!is_1.default.undefined(onboardingCache.isModified)) {
|
|
66
66
|
return onboardingCache.isModified;
|
|
@@ -91,7 +91,7 @@ async function isOnboardingBranchConflicted(defaultBranch, onboardingBranch) {
|
|
|
91
91
|
const onboardingSha = (0, git_1.getBranchCommit)(onboardingBranch);
|
|
92
92
|
const defaultBranchSha = (0, git_1.getBranchCommit)(defaultBranch);
|
|
93
93
|
let isConflicted = false;
|
|
94
|
-
if (onboardingCache &&
|
|
94
|
+
if ((0, is_1.isNonEmptyObject)(onboardingCache) &&
|
|
95
95
|
defaultBranchSha === onboardingCache.defaultBranchSha &&
|
|
96
96
|
onboardingSha === onboardingCache.onboardingBranchSha &&
|
|
97
97
|
!is_1.default.undefined(onboardingCache.isConflicted)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding-branch-cache.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/onboarding/branch/onboarding-branch-cache.ts"],"names":[],"mappings":";;AAMA,gDA8BC;AAED,sDAOC;AAID,gEAQC;AAID,gEAoBC;AAED,wEAGC;AAED,oEAGC;AAED,gEASC;AAED,oEAyBC;;AAjID
|
|
1
|
+
{"version":3,"file":"onboarding-branch-cache.js","sourceRoot":"","sources":["../../../../../lib/workers/repository/onboarding/branch/onboarding-branch-cache.ts"],"names":[],"mappings":"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","sourcesContent":["import is, { isNonEmptyObject } from '@sindresorhus/is';\nimport { logger } from '../../../../logger';\nimport { scm } from '../../../../modules/platform/scm';\nimport { getCache } from '../../../../util/cache/repository';\nimport { getBranchCommit } from '../../../../util/git';\n\nexport function setOnboardingCache(\n defaultBranchSha: string,\n onboardingBranchSha: string,\n isConflicted: boolean,\n isModified: boolean,\n): void {\n // do not update cache if commit is null/undefined\n if (\n !(\n is.nonEmptyString(defaultBranchSha) &&\n is.nonEmptyString(onboardingBranchSha)\n )\n ) {\n logger.debug('Onboarding cache not updated');\n return;\n }\n\n const cache = getCache();\n const onboardingCache = {\n defaultBranchSha,\n onboardingBranchSha,\n isConflicted,\n isModified,\n };\n if (cache.onboardingBranchCache) {\n logger.debug({ onboardingCache }, 'Update Onboarding Cache');\n } else {\n logger.debug({ onboardingCache }, 'Create Onboarding Cache');\n }\n cache.onboardingBranchCache = onboardingCache;\n}\n\nexport function deleteOnboardingCache(): void {\n const cache = getCache();\n\n if (cache?.onboardingBranchCache) {\n logger.debug('Delete Onboarding Cache');\n delete cache.onboardingBranchCache;\n }\n}\n\n// checks if onboarding branch has been modified since last run\n// return true if cache isn't present\nexport function hasOnboardingBranchChanged(onboardingBranch: string): boolean {\n const cache = getCache();\n const onboardingSha = getBranchCommit(onboardingBranch);\n\n if (cache.onboardingBranchCache) {\n return onboardingSha !== cache.onboardingBranchCache.onboardingBranchSha;\n }\n return true;\n}\n\n// checks if onboarding branch has been modified by user\n// once set to true it stays true as we do not rebase onboarding branches anymore (this feature will be added in future though)\nexport async function isOnboardingBranchModified(\n onboardingBranch: string,\n defaultBranch: string,\n): Promise<boolean> {\n const cache = getCache();\n const onboardingCache = cache.onboardingBranchCache;\n const onboardingSha = getBranchCommit(onboardingBranch);\n let isModified = false;\n\n if (\n isNonEmptyObject(onboardingCache) &&\n onboardingSha === onboardingCache.onboardingBranchSha &&\n !is.undefined(onboardingCache.isModified)\n ) {\n return onboardingCache.isModified;\n } else {\n isModified = await scm.isBranchModified(onboardingBranch, defaultBranch);\n }\n\n return isModified;\n}\n\nexport function getOnboardingFileNameFromCache(): string | undefined {\n const cache = getCache();\n return cache.onboardingBranchCache?.configFileName;\n}\n\nexport function getOnboardingConfigFromCache(): string | undefined {\n const cache = getCache();\n return cache.onboardingBranchCache?.configFileParsed;\n}\n\nexport function setOnboardingConfigDetails(\n configFileName: string,\n configFileParsed: string,\n): void {\n const cache = getCache();\n if (cache.onboardingBranchCache) {\n cache.onboardingBranchCache.configFileName = configFileName;\n cache.onboardingBranchCache.configFileParsed = configFileParsed;\n }\n}\n\nexport async function isOnboardingBranchConflicted(\n defaultBranch: string,\n onboardingBranch: string,\n): Promise<boolean> {\n const cache = getCache();\n const onboardingCache = cache.onboardingBranchCache;\n const onboardingSha = getBranchCommit(onboardingBranch);\n const defaultBranchSha = getBranchCommit(defaultBranch);\n let isConflicted = false;\n\n if (\n isNonEmptyObject(onboardingCache) &&\n defaultBranchSha === onboardingCache.defaultBranchSha &&\n onboardingSha === onboardingCache.onboardingBranchSha &&\n !is.undefined(onboardingCache.isConflicted)\n ) {\n return onboardingCache.isConflicted;\n } else {\n isConflicted = await scm.isBranchConflicted(\n defaultBranch,\n onboardingBranch,\n );\n }\n\n return isConflicted;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "renovate",
|
|
3
3
|
"description": "Automated dependency updates. Flexible so you don't need to be.",
|
|
4
|
-
"version": "42.
|
|
4
|
+
"version": "42.4.0",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"bin": {
|
|
7
7
|
"renovate": "dist/renovate.js",
|
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
"devDependencies": {
|
|
219
219
|
"@containerbase/eslint-plugin": "1.1.18",
|
|
220
220
|
"@containerbase/semantic-release-pnpm": "1.3.3",
|
|
221
|
-
"@eslint/js": "9.
|
|
221
|
+
"@eslint/js": "9.39.0",
|
|
222
222
|
"@hyrious/marshal": "0.3.3",
|
|
223
223
|
"@ls-lint/ls-lint": "2.3.1",
|
|
224
224
|
"@openpgp/web-stream-tools": "0.2.1",
|
|
@@ -270,7 +270,7 @@
|
|
|
270
270
|
"conventional-changelog-conventionalcommits": "9.1.0",
|
|
271
271
|
"emojibase-data": "16.0.3",
|
|
272
272
|
"esbuild": "0.25.12",
|
|
273
|
-
"eslint": "9.
|
|
273
|
+
"eslint": "9.39.0",
|
|
274
274
|
"eslint-config-prettier": "10.1.8",
|
|
275
275
|
"eslint-formatter-gha": "1.6.0",
|
|
276
276
|
"eslint-import-resolver-typescript": "4.4.4",
|
|
@@ -292,9 +292,9 @@
|
|
|
292
292
|
"tar": "7.5.2",
|
|
293
293
|
"tmp-promise": "3.0.3",
|
|
294
294
|
"tsx": "4.20.6",
|
|
295
|
-
"type-fest": "5.
|
|
295
|
+
"type-fest": "5.2.0",
|
|
296
296
|
"typescript": "5.9.3",
|
|
297
|
-
"typescript-eslint": "8.
|
|
297
|
+
"typescript-eslint": "8.46.2",
|
|
298
298
|
"unified": "11.0.5",
|
|
299
299
|
"vite": "7.1.12",
|
|
300
300
|
"vite-tsconfig-paths": "5.1.4",
|
package/renovate-schema.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"title": "JSON schema for Renovate 42.
|
|
2
|
+
"title": "JSON schema for Renovate 42.4.0 config files (https://renovatebot.com/)",
|
|
3
3
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
-
"x-renovate-version": "42.
|
|
4
|
+
"x-renovate-version": "42.4.0",
|
|
5
5
|
"allowComments": true,
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|