Skip to content

Make bedevere work outside of the CPython repo - #724

Open
Mariatta wants to merge 3 commits into
python:mainfrom
Mariatta:repo-feature-map
Open

Mariatta wants to merge 3 commits into
python:mainfrom
Mariatta:repo-feature-map

Conversation

@Mariatta

Copy link
Copy Markdown
Member

bedevere was initially made just for the CPython repo, and we have hardcoded values and assumptions in the code about the CPython repo. Recently, we introduced process for enforcing AI-based contribution policy, which could be applied for other repos, for example we started seeing the need for the same automation and enforcement for the devguide repo, which makes bedevere useful for other repos as well. With this change, we would be able to install bedevere to other repos like the devguide. Other features like backporting, needs misc/news are still CPython specific, and won't be executed for other repos.

Add a per-repository feature map in bedevere/config.py and dispatch each
event only to the features its repository enables. python/cpython keeps
every feature. Other python org repositories get only the AI policy labels
unless they are listed, and repositories outside the python org get
nothing.

filepaths skips the NEWS check when news is off for a repository.

Document how features work and how to set up a new repository.
@codecov

codecov Bot commented Oct 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (7befc07) to head (81c97c6).

Impacted file tree graph

@@            Coverage Diff            @@
##              main      #724   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           20        22    +2     
  Lines         2421      2520   +99     
  Branches       119       125    +6     
=========================================
+ Hits          2421      2520   +99     
Flag Coverage Δ
Python_3.14.9 100.00% <100.00%> (ø)
Python_3.15.1 ?
Python_3.15.2 100.00% <100.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
bedevere/__main__.py 100.00% <100.00%> (ø)
bedevere/config.py 100.00% <100.00%> (ø)
bedevere/filepaths.py 100.00% <100.00%> (ø)
tests/test___main__.py 100.00% <100.00%> (ø)
tests/test_config.py 100.00% <100.00%> (ø)
tests/test_filepaths.py 100.00% <100.00%> (ø)
tests/test_policy.py 100.00% <100.00%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

This branch has not been deployed

No deployments
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.

1 participant