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

pantsbuild / pants / 26136387749
80%
main: 93%

Build:
Build:
LAST BUILD BRANCH: gfast/fix-broken-link
DEFAULT BRANCH: main
Ran 20 May 2026 02:15AM UTC
Jobs 12
Files 1729
Run time 3min
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

20 May 2026 01:51AM UTC coverage: 80.279% (+0.008%) from 80.271%
26136387749

push

github

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

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 scop... (continued)

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

78852 of 98222 relevant lines covered (80.28%)

3.36 hits per line

Jobs
ID Job ID Ran Files Coverage
1 test_python_linux_x86_64_8/10 - 26136387749.1 20 May 2026 02:24AM UTC 1188
45.22
GitHub Action Run
2 test_python_linux_x86_64_4/10 - 26136387749.2 20 May 2026 02:29AM UTC 1219
49.76
GitHub Action Run
3 test_python_linux_x86_64_7/10 - 26136387749.3 20 May 2026 02:26AM UTC 1192
42.59
GitHub Action Run
4 test_python_macos14_arm64 - 26136387749.4 20 May 2026 02:15AM UTC 1170
43.26
GitHub Action Run
5 test_python_linux_x86_64_3/10 - 26136387749.5 20 May 2026 02:22AM UTC 1186
45.68
GitHub Action Run
6 test_python_linux_x86_64_6/10 - 26136387749.6 20 May 2026 02:16AM UTC 1183
40.79
GitHub Action Run
7 test_python_linux_x86_64_1/10 - 26136387749.7 20 May 2026 02:22AM UTC 1185
40.08
GitHub Action Run
8 test_python_linux_x86_64_2/10 - 26136387749.8 20 May 2026 02:18AM UTC 1189
46.75
GitHub Action Run
9 test_python_linux_x86_64_0/10 - 26136387749.9 20 May 2026 02:22AM UTC 1207
46.79
GitHub Action Run
10 test_python_linux_arm64 - 26136387749.10 20 May 2026 02:18AM UTC 1170
43.25
GitHub Action Run
11 test_python_linux_x86_64_5/10 - 26136387749.11 20 May 2026 02:17AM UTC 1201
49.13
GitHub Action Run
12 test_python_linux_x86_64_9/10 - 26136387749.12 20 May 2026 02:18AM UTC 1193
44.94
GitHub Action Run
Source Files on build 26136387749
  • Tree
  • List 1729
  • Changed 541
  • Source Changed 2
  • Coverage Changed 541
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #26136387749
  • 187cc9eb on github
  • Prev Build on 2.31.x (#25439616511)
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