Skip to content

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Jul 29, 2025

Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


Detected Package Files

  • .github/workflows/chango.yml (github-actions)
  • .github/workflows/copilot-setup-steps.yml (github-actions)
  • .github/workflows/docs-admonitions.yml (github-actions)
  • .github/workflows/docs-linkcheck.yml (github-actions)
  • .github/workflows/gha_security.yml (github-actions)
  • .github/workflows/labelling.yml (github-actions)
  • .github/workflows/lock.yml (github-actions)
  • .github/workflows/release_pypi.yml (github-actions)
  • .github/workflows/release_test_pypi.yml (github-actions)
  • .github/workflows/stale.yml (github-actions)
  • .github/workflows/test_official.yml (github-actions)
  • .github/workflows/type_completeness.yml (github-actions)
  • .github/workflows/type_completeness_monthly.yml (github-actions)
  • .github/workflows/unit_tests.yml (github-actions)
  • pyproject.toml (pep621)
  • .pre-commit-config.yaml (pre-commit)

Configuration Summary

Based on the default config's presets, Renovate will:

  • Start dependency updates only once this onboarding PR is merged
  • Hopefully safe environment variables to allow users to configure.
  • Show all Merge Confidence badges for pull requests.
  • Enable Renovate Dependency Dashboard creation.
  • Use semantic commit type fix for dependencies and chore for all others if semantic commits are in use.
  • Ignore node_modules, bower_components, vendor and various test/tests (except for nuget) directories.
  • Group known monorepo packages together.
  • Use curated list of recommended non-monorepo package groupings.
  • Show only the Age and Confidence Merge Confidence badges for pull requests.
  • Apply crowd-sourced package replacement rules.
  • Apply crowd-sourced workarounds for known problems with packages.
  • Pin Docker digests.
  • Pin github-action digests.
  • Enable Renovate configuration migration PRs when needed.
  • Pin dependency versions for development dependencies.
  • Enable the pre-commit manager.
  • Remove limit for open PRs at any time.
  • Run Renovate on following schedule: * * * * 0,6

🔡 Do you want to change how Renovate upgrades your dependencies? Add your custom config to renovate.json in this branch. Renovate will update the Pull Request description the next time it runs.


What to Expect

With your current configuration, Renovate will create 15 Pull Requests:

Update astral-sh/setup-uv digest to c0e7e93
  • Schedule: ["* * * * 0,6"]
  • Branch name: renovate/astral-sh-setup-uv-digest
  • Merge into: master
  • Upgrade astral-sh/setup-uv to c0e7e93474eb09a343746f2a2742979d0cba523c
Update dependency astral-sh/uv to v0.8.11
  • Schedule: ["* * * * 0,6"]
  • Branch name: renovate/astral-sh-uv-0.x
  • Merge into: master
  • Upgrade astral-sh/uv to 0.8.11
Update github/codeql-action action to v3.29.9
  • Schedule: ["* * * * 0,6"]
  • Branch name: renovate/github-codeql-action-3.x
  • Merge into: master
  • Upgrade github/codeql-action to df559355d593797519d70b90fc8edd5db049e7a2
Update Pylint to v3.3.8
  • Schedule: ["* * * * 0,6"]
  • Branch name: renovate/pylint
  • Merge into: master
  • Upgrade PyCQA/pylint to v3.3.8
  • Upgrade pylint to ==3.3.8
Update Ruff to v0.12.9
Update actions/checkout action to v4.3.0
  • Schedule: ["* * * * 0,6"]
  • Branch name: renovate/actions-checkout-4.x
  • Merge into: master
  • Upgrade actions/checkout to 08eba0b27e820071cde6df949e0beb9ba4906955
Update astral-sh/setup-uv action to v6.5.0
  • Schedule: ["* * * * 0,6"]
  • Branch name: renovate/astral-sh-setup-uv-6.x
  • Merge into: master
  • Upgrade astral-sh/setup-uv to d9e0f98d3fc6adb07d1e3d37f3043649ddad06a1
Update Chango to v0.5.0
  • Schedule: ["* * * * 0,6"]
  • Branch name: renovate/chango
  • Merge into: master
  • Upgrade Bibo-Joshi/chango to 212fc662da1b1026f335e110270d75690df05758
  • Upgrade chango to ~=0.5.0
Update Mypy to v1.17.1
  • Schedule: ["* * * * 0,6"]
  • Branch name: renovate/mypy
  • Merge into: master
  • Upgrade mypy to ==1.17.1
  • Upgrade pre-commit/mirrors-mypy to v1.17.1
Update pre-commit hook APScheduler to ~=3.11.0
  • Schedule: ["* * * * 0,6"]
  • Branch name: renovate/apscheduler-3.x
  • Merge into: master
  • Upgrade APScheduler to ~=3.11.0
Update pre-commit hook cachetools to >=5.5.2,<5.6.0
  • Schedule: ["* * * * 0,6"]
  • Branch name: renovate/cachetools-5.x
  • Merge into: master
  • Upgrade cachetools to >=5.5.2,<5.6.0
Update actions/checkout action to v5
  • Schedule: ["* * * * 0,6"]
  • Branch name: renovate/actions-checkout-5.x
  • Merge into: master
  • Upgrade actions/checkout to 08c6903cd8c0fde910a37f88322edcfb5dd907a8
Update actions/download-artifact action to v5
  • Schedule: ["* * * * 0,6"]
  • Branch name: renovate/major-github-artifact-actions
  • Merge into: master
  • Upgrade actions/download-artifact to 634f93cb2916e3fdff6788551b99b062d0335ce0
Update pre-commit hook cachetools to v6
  • Schedule: ["* * * * 0,6"]
  • Branch name: renovate/cachetools-6.x
  • Merge into: master
  • Upgrade cachetools to >=6.1.0,<6.2.0
Lock file maintenance
  • Schedule: ["* * * * 1,4"]
  • Branch name: renovate/lock-file-maintenance
  • Merge into: master
  • Regenerate lock files to use latest dependency versions

❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section.
If you need any further assistance then you can also request help here.


This PR was generated by Mend Renovate. View the repository job log.

@harshil21
Copy link
Member

Renovate has support for updating the additional_dependencies in our pre-commit file too - https://docs.renovatebot.com/modules/manager/pre-commit/#additional-dependencies should we do it?

@harshil21 harshil21 added ⚙️ dependencies affected functionality: dependencies ⚙️ ci-cid affected functionality: ci-cid labels Jul 30, 2025
@Bibo-Joshi
Copy link
Member

@harshil21 Yes, please 😍

Copy link
Member

@Bibo-Joshi Bibo-Joshi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

schedule:
# Run monday and friday morning at 03:07 - odd time to spread load on GitHub Actions
- cron: '7 3 * * 1,5'

this can then also be removed IMO as discussed in #4796 (comment)

@harshil21
Copy link
Member

Only thing Renovate is complaining about are chango and pyright-type-completeness job's @Bibo-Joshi you might want to check if you can fix it?

@harshil21 harshil21 mentioned this pull request Jul 31, 2025
Copy link
Author

renovate bot commented Jul 31, 2025

Branch Conflicted

⚠️ This PR has a merge conflict which Renovate is unable to automatically resolve, so updates to this PR description are now paused. Please resolve the merge conflict manually.

@harshil21
Copy link
Member

I'm happy with the current configuration. The only thing I can't seem to get working is making Renovate update both pre-commit version and pyproject version of a dependency in the same PR.

If any one of you can get that working, that would be great. I couldn't find any other projects which do that (maybe a global github search will help?)

Renovate doesn't tell me here if it would also update the lockfile with the dependency in the same PR, I hope it would.

@vivodi
Copy link

vivodi commented Aug 12, 2025

I'm happy with the current configuration. The only thing I can't seem to get working is making Renovate update both pre-commit version and pyproject version of a dependency in the same PR.

If any one of you can get that working, that would be great. I couldn't find any other projects which do that (maybe a global github search will help?)

Renovate doesn't tell me here if it would also update the lockfile with the dependency in the same PR, I hope it would.

You can check if this PR created by Renovate is the way you want it:
Flexget/Flexget#4545

The configuration is also very straightforward:
https://github.com/Flexget/Flexget/blob/b7c856163930b3a9b13a8932cdcac4d44d761333/.github/renovate.json5#L56-L61

@harshil21
Copy link
Member

harshil21 commented Aug 12, 2025

Thanks @vivodi that PR is what I want indeed. I noticed:

  1. Renovate is updating the uv.lock file separately in a different PR.

  2. The dependencies are manually matched in that configuration (i.e. they wrote "ruff", "astral-sh/ruff-pre-commit"). I hope to use matchDepTypes and matchManagers so it automatically finds all dependencies to group together in one PR. I actually think I just need to change the group name to something constant and not a template so they're grouped together?

@vivodi
Copy link

vivodi commented Aug 13, 2025

Renovate is updating the uv.lock file separately in a different PR.

What do you mean?

In the Renovate PR I linked above, uv.lock was updated as part of the same PR. Flexget/Flexget#4545

The dependencies are manually matched in that configuration (i.e. they wrote "ruff", "astral-sh/ruff-pre-commit"). I hope to use matchDepTypes and matchManagers so it automatically finds all dependencies to group together in one PR. I actually think I just need to change the group name to something constant and not a template so they're grouped together?

Renovate can’t do this automatically because it has no way of knowing which Python package on PyPI corresponds to which GitHub repository. You can only group them together manually.

Copy link

@vivodi vivodi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Renovate configuration still needs adjustment/improvement, and many parts can be simplified.

@vivodi
Copy link

vivodi commented Aug 13, 2025

It is recommended to add https://github.com/renovatebot/pre-commit-hooks to prevent future erroneous changes to the Renovate configuration.

@harshil21
Copy link
Member

harshil21 commented Aug 13, 2025

Thanks for the review @vivodi!

I had another question - would Renovate update the additional_dependencies in the pre-commit-config and pyproject.toml in the same PR, or would I need to explicitly list out each dependency like it was done in the config you linked?

In the Renovate PR I linked above, uv.lock was updated as part of the same PR

Uff yes 🤦🏽‍♂️ remind me to not open github on mobile when I'm away from a keyboard

Some more configuration decisions:

  1. https://docs.renovatebot.com/faq/#tell-renovate-to-ask-for-approval-before-creating-a-pull-request though I don't know of any case where we would want to do this at the moment..

  2. https://docs.renovatebot.com/noise-reduction/#automerging-and-scheduling. I think we should enable auto merges just so that lock file conflicts are reduced as they mention.

@harshil21
Copy link
Member

harshil21 commented Aug 13, 2025

It is recommended to add https://github.com/renovatebot/pre-commit-hooks to prevent future erroneous changes to the Renovate configuration.

It seems that I can't use that new pre-commit hook - running into renovatebot/pre-commit-hooks#2983. Reverting.

Perhaps schema validation inside IDE's should do.

@vivodi
Copy link

vivodi commented Aug 13, 2025

I had another question - would Renovate update the additional_dependencies in the pre-commit-config and pyproject.toml in the same PR, or would I need to explicitly list out each dependency like it was done in the config you linked?

  • If you don’t use semantic commits, there will always be only one PR.
  • If you do use semantic commits, two PRs will be created for minor or major updates, while only one PR will be created for patch updates.

The python-telegram-bot repository doesn’t use semantic commits, so you don’t need to worry about this — meaning you don’t need to manually group these dependencies together.

https://docs.renovatebot.com/faq/#tell-renovate-to-ask-for-approval-before-creating-a-pull-request though I don't know of any case where we would want to do this at the moment..

Since you don't know of any case where you would want to do this at the moment, I suggest not using the “Tell Renovate to ask for approval before creating a Pull Request” feature, as it often causes you to forget to update. There’s nothing wrong with letting Renovate always create updates automatically.

https://docs.renovatebot.com/noise-reduction/#automerging-and-scheduling. I think we should enable auto merges just so that lock file conflicts are reduced as they mention.

Regarding automatic updates, you can take a look at the Renovate settings in the FlexGet repository, which were mainly written by me:

https://github.com/Flexget/Flexget/blob/d0137d8dc87fa8dbb8fc394d67275e272fce052a/.github/renovate.json5#L5-L6
https://github.com/Flexget/Flexget/blob/d0137d8dc87fa8dbb8fc394d67275e272fce052a/.github/renovate.json5#L53-L54

If the python-telegram-bot repository hasn’t enabled “allow auto-merge” in its settings, automatic merging will only occur if all checks pass. Otherwise, you’ll need to set all checks to “Required.”

seems that I can't use that new pre-commit hook - running into renovatebot/pre-commit-hooks#2983. Reverting.

Renovate config validation can be done via GitHub Actions — you can check how it’s set up in the FlexGet repository. Restricting the trigger conditions won’t add any overhead.

https://github.com/Flexget/Flexget/blob/develop/.github/workflows/renovate-config-validation.yml

Comment on lines +15 to +16
// Let Renovate decide how to update. See docs: https://docs.renovatebot.com/configuration-options/#rangestrategy
"rangeStrategy": "auto",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// Let Renovate decide how to update. See docs: https://docs.renovatebot.com/configuration-options/#rangestrategy
"rangeStrategy": "auto",

There’s no need to explicitly specify when using the default value.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this case I do want to explicitly mention it so anybody reading it is aware of our setting.

],

// Increase the number of PR's Renovate can create in a hour. Default is 2.
"prHourlyLimit": 5,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using presets is convenient, and there's nothing wrong with creating all PRs at once.

    ':prConcurrentLimitNone',
    ':prHourlyLimitNone',

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On the fence with this one. I don't really want to spam everything at once because our CI has flaky tests which fail when many PRs are opened at once.

If Renovate has an option of spacing out PRs by a set amount of time, say 30 minutes, that would be better imo.

@harshil21
Copy link
Member

Renovate config validation can be done via GitHub Actions

I don't want to use more action minutes, some jobs already don't start instantly and wait for others to complete. I will instead use the skip config option in pre-commit.ci, so it won't run on CI but only locally.

The python-telegram-bot repository doesn’t use semantic commits, so you don’t need to worry about this — meaning you don’t need to manually group these dependencies together.

Thanks for the explanation.

@harshil21
Copy link
Member

We discussed a little more internally and decided to remove the pre-commit check locally too, since it would not be very useful. Any changes to the configuration would be in a new PR as outlined in the docs - https://docs.renovatebot.com/getting-started/installing-onboarding/#reconfigure-via-pr so invalid changes would be caught there too...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⚙️ ci-cid affected functionality: ci-cid ⚙️ dependencies affected functionality: dependencies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants