diff --git a/docs/usage/self-hosted-experimental.md b/docs/usage/self-hosted-experimental.md index a16acf51baf1d3a5177b9c9b6d3c2e04fb772604..d7945675aaac95f92a14628b930e48ee7687085c 100644 --- a/docs/usage/self-hosted-experimental.md +++ b/docs/usage/self-hosted-experimental.md @@ -99,7 +99,7 @@ If set to any value, Renovate will download `nupkg` files for determining packag ## `RENOVATE_X_PLATFORM_VERSION` -Specify this string for Renovate to skip API checks and provide GitLab/Bitbucket server version directly. +Specify this string for Renovate to skip API checks and provide GitLab/Gitea and Forgejo/Bitbucket server version directly. Particularly useful with GitLab's `CI_JOB_TOKEN` to authenticate Renovate or to reduce API calls for Bitbucket. Read [platform details](modules/platform/gitlab/index.md) to learn why we need the server version on GitLab. diff --git a/lib/modules/platform/gitea/index.ts b/lib/modules/platform/gitea/index.ts index 369edaad369b7ba3ce126c4600e020629084d1a4..1c8326c54167ccfc59ec9f941731083df4a213e8 100644 --- a/lib/modules/platform/gitea/index.ts +++ b/lib/modules/platform/gitea/index.ts @@ -212,10 +212,18 @@ const platform: Platform = { gitAuthor = `${user.full_name ?? user.username} <${user.email}>`; botUserID = user.id; botUserName = user.username; - defaults.version = await helper.getVersion({ token }); + // istanbul ignore if: experimental feature + if (semver.valid(process.env.RENOVATE_X_PLATFORM_VERSION)) { + defaults.version = process.env.RENOVATE_X_PLATFORM_VERSION!; + } else { + defaults.version = await helper.getVersion({ token }); + } if (defaults.version?.includes('gitea-')) { defaults.isForgejo = true; } + logger.debug( + `${defaults.isForgejo ? 'Forgejo' : 'Gitea'} version: ${defaults.version}`, + ); } catch (err) { logger.debug( { err },