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

pantsbuild / pants / 26075932675
93%

Build:
DEFAULT BRANCH: main
Ran 19 May 2026 04:26AM UTC
Jobs 12
Files 1752
Run time 4min
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

19 May 2026 04:19AM UTC coverage: 92.784%. Remained the same
26075932675

push

github

web-flow
Restore missing-entry guard in CoursierResolvedLockfile.dependencies() (regression from #22906) (#23341)

Disclaimer: I used Claude Code to evaluate and confirm comments from
#23328. Basically, part of #22906 needs to be reverted.

Okay, now here's Claude:

## Summary

Fixes a `KeyError` regression introduced by #22906 that breaks `pants
check` (and other JVM goals) on lockfiles whose entries reference a
transitive dependency that has no top-level coord entry of its own.

#22906 bumped Coursier to v2.1.24 to pick up the fix for
[coursier#2884](https://github.com/coursier/coursier/issues/2884) and,
on the assumption that the only remaining "missing entry" cases would be
parent POMs (`classifier="pom"`), simplified
`CoursierResolvedLockfile.dependencies()` to do a direct dict lookup
instead of an `entries.get(...)` guard. That assumption turns out to be
wrong: even fresh resolves with the latest Coursier (verified against
v2.1.25-M19) still emit transitive deps without a coord entry — e.g.
`("org.apache.curator", "apache-curator", None)` when resolving
`org.apache.hive:hive-exec:1.1.0`, or `("org.apache.arrow",
"arrow-memory", None)` in the user-reported repro on `hive-exec:3.1.3`.
Both have `classifier=None`, so the `if d.classifier != "pom"` filter
doesn't catch them, and the unguarded lookup raises `KeyError`.

This restores the pre-#22906 `entries.get(...)` skip and adds the
bug-report repro as a regression test.

## Changes

- `src/python/pants/jvm/resolve/coursier_fetch.py`: restore the
`entries.get(...)` guard in `dependencies()`; update the comment to
reflect that #2884-style missing entries are still observable on current
Coursier.
- `src/python/pants/jvm/resolve/coursier_fetch_test.py`: add
`test_dependencies_skips_transitive_entries_missing_from_lockfile` — the
exact fixture from the bug report. Without the fix it reproduces
`KeyError: ('org.apache.arrow', 'arrow-memory', None)`; with the fix it
passes.

## Out of scope

- `CoursierResolvedLo... (continued)

10 of 10 new or added lines in 1 file covered. (100.0%)

92970 of 100200 relevant lines covered (92.78%)

4.02 hits per line

Jobs
ID Job ID Ran Files Coverage
1 test_python_linux_x86_64_0/10 - 26075932675.1 19 May 2026 04:29AM UTC 1222
56.23
GitHub Action Run
2 test_python_macos14_arm64 - 26075932675.2 19 May 2026 04:26AM UTC 1186
52.05
GitHub Action Run
3 test_python_linux_x86_64_6/10 - 26075932675.3 19 May 2026 04:28AM UTC 1198
49.31
GitHub Action Run
4 test_python_linux_arm64 - 26075932675.4 19 May 2026 04:36AM UTC 1186
52.06
GitHub Action Run
5 test_python_linux_x86_64_2/10 - 26075932675.5 19 May 2026 04:28AM UTC 1207
58.61
GitHub Action Run
6 test_python_linux_x86_64_4/10 - 26075932675.6 19 May 2026 04:33AM UTC 1237
59.08
GitHub Action Run
7 test_python_linux_x86_64_5/10 - 26075932675.7 19 May 2026 04:29AM UTC 1217
59.13
GitHub Action Run
8 test_python_linux_x86_64_3/10 - 26075932675.8 19 May 2026 04:28AM UTC 1203
53.62
GitHub Action Run
9 test_python_linux_x86_64_7/10 - 26075932675.9 19 May 2026 04:30AM UTC 1208
51.08
GitHub Action Run
10 test_python_linux_x86_64_9/10 - 26075932675.10 19 May 2026 04:30AM UTC 1213
53.64
GitHub Action Run
11 test_python_linux_x86_64_1/10 - 26075932675.11 19 May 2026 04:29AM UTC 1202
49.3
GitHub Action Run
12 test_python_linux_x86_64_8/10 - 26075932675.12 19 May 2026 04:32AM UTC 1205
53.06
GitHub Action Run
Source Files on build 26075932675
  • Tree
  • List 1752
  • Changed 5
  • Source Changed 2
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26075932675
  • bf9bd54d on github
  • Prev Build on main (#25989352722)
  • Next Build on main (#26079765061)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc