Skip to content

Add Dependabot updates for Python requirements#10612

Open
azhavoro wants to merge 11 commits into
cvat-ai:developfrom
azhavoro:az/dependabot-pip-experiment
Open

Add Dependabot updates for Python requirements#10612
azhavoro wants to merge 11 commits into
cvat-ai:developfrom
azhavoro:az/dependabot-pip-experiment

Conversation

@azhavoro
Copy link
Copy Markdown
Contributor

Summary

  • Add Dependabot version updates for GitHub Actions, root Dockerfiles, and Python requirement source files.
  • Configure Python Dependabot updates to ignore generated *.txt lock files and all.in.
  • Add a workflow that regenerates Python requirement lock files on Dependabot PRs after *.in files change.
  • Set the requirements Python version to 3.10 so Dependabot resolves the same Python dependency graph as the project tooling.
  • Update Shapely to a version that can be resolved in the Dependabot environment.

Notes

Python requirements are managed by pip-compile-multi, so Dependabot should only update source *.in files. The generated *.txt files are refreshed by the workflow using regenerate.sh --no-upgrade.

Testing

  • Validated .github/dependabot.yml as YAML.
  • Tested the regeneration flow in the fork with Dependabot-created PRs.

azhavoro and others added 11 commits May 14, 2026 09:59
* Bump shapely from 1.7.1 to 2.1.2 in /cvat/requirements

Bumps [shapely](https://github.com/shapely/shapely) from 1.7.1 to 2.1.2.
- [Release notes](https://github.com/shapely/shapely/releases)
- [Changelog](https://github.com/shapely/shapely/blob/main/CHANGES.txt)
- [Commits](shapely/shapely@1.7.1...2.1.2)

---
updated-dependencies:
- dependency-name: shapely
  dependency-version: 2.1.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Regenerate Python requirements

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@azhavoro azhavoro requested a review from SpecLad as a code owner May 15, 2026 08:41
@codecov
Copy link
Copy Markdown

codecov Bot commented May 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@@ -0,0 +1 @@
3.10
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

3.12?

git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add cvat/requirements/*.txt utils/dataset_manifest/requirements.txt
git commit -m "Regenerate Python requirements"
git push
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

As I recall, using the default GitHub token to perform actions will not trigger workflows. Isn't this going to be a problem here? It means that CI won't run for the updated version of the pull request.

update:
# Dependabot PRs can be synchronized by maintainers, so github.actor is not
# always dependabot[bot]. Limit this write-enabled job to Dependabot branches.
if: startsWith(github.event.pull_request.head.ref, 'dependabot/')
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We should probably make sure the request is coming from our own repository, not a fork. I'm fairly certain that executing pip-compile on untrusted requirements leads to arbitrary code execution, and I'm not comfortable doing that in a workflow with write permissions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants