• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pantsbuild / pants / 38595183949
93%

Build:
DEFAULT BRANCH: main
Ran 14 Oct 2026 04:17PM UTC
Jobs 11
Files 1785
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

14 Oct 2026 04:06PM UTC coverage: 92.942% (+0.01%) from 92.932%
38595183949

push

github

web-flow
Resolve Init and Conftest Owners from a Run-wide Index (#23699)

For every Python file, init and conftest inference ran `find_owners` and
then `resolve_targets` on each ancestor `__init__.py` / `conftest.py`.
Every file in a package repeated the same owner lookups.

This adds `python_source_owners_by_file`, which maps each file owned by
a target with a `PythonSourceField` to the owners' addresses and their
normalized resolves. It's built once per run from `AllPythonTargets`,
which import inference already computes for the module mapping. A target
that owns a file is declared in the file's directory or an ancestor. So
the index holds exactly the owners `find_owners` would return after the
existing `PythonSourceField` filter.

- `__init__` inference looks up each ancestor file in the index, then
filters by resolve as before.
- Conftest inference uses the index for files that are in it. A
`conftest.py` missing from the index still goes through `find_owners`
with `owners_not_found_behavior=error`, so an unowned conftest still
raises the same error.

Trade-off: when import inference is off but init/conftest inference is
on, a run that touches only a few files now computes `AllPythonTargets`,
which needs every target in the repo. It didn't before. With import
inference on (the default), that's already computed. I found very few
examples on github that would be impacted by that, and on those repos it
doesn't make a difference.

This is between an ~8% and a ~15% reduction in wall clock time over a
few different repositories with both a large number of targets and a
large number of `__init__.py` and `conftest.py` files.

52 of 52 new or added lines in 2 files covered. (100.0%)

96314 of 103628 relevant lines covered (92.94%)

3.66 hits per line

Jobs
ID Job ID Ran Files Coverage
1 test_python_linux_x86_64_7/10 - 38595183949.1 14 Oct 2026 04:26PM UTC 1220
50.75
GitHub Action Run
2 test_python_linux_x86_64_1/10 - 38595183949.2 14 Oct 2026 04:22PM UTC 1216
48.83
GitHub Action Run
3 test_python_linux_x86_64_8/10 - 38595183949.3 14 Oct 2026 04:22PM UTC 1215
52.67
GitHub Action Run
4 test_python_linux_x86_64_9/10 - 38595183949.4 14 Oct 2026 04:17PM UTC 1226
53.99
GitHub Action Run
5 test_python_linux_x86_64_5/10 - 38595183949.5 14 Oct 2026 04:19PM UTC 1232
60.34
GitHub Action Run
6 test_python_linux_x86_64_6/10 - 38595183949.6 14 Oct 2026 04:17PM UTC 1213
50.12
GitHub Action Run
7 test_python_linux_x86_64_4/10 - 38595183949.7 14 Oct 2026 04:24PM UTC 1246
59.02
GitHub Action Run
8 test_python_linux_x86_64_3/10 - 38595183949.8 14 Oct 2026 04:18PM UTC 1215
52.31
GitHub Action Run
9 test_python_linux_x86_64_2/10 - 38595183949.9 14 Oct 2026 04:17PM UTC 1216
58.52
GitHub Action Run
10 test_python_linux_x86_64_0/10 - 38595183949.10 14 Oct 2026 04:23PM UTC 1237
57.39
GitHub Action Run
11 test_python_linux_arm64 - 38595183949.11 14 Oct 2026 04:17PM UTC 1197
52.6
GitHub Action Run
Source Files on build 38595183949
  • Tree
  • List 1785
  • Changed 4
  • Source Changed 2
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #38595183949
  • b47ddb9c on github
  • Prev Build on main (#37997622094)
  • Next Build on main (#38640865803)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc