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

pantsbuild / pants / 28336942568
93%

Build:
DEFAULT BRANCH: main
Ran 28 Jun 2026 10:01PM UTC
Jobs 11
Files 1758
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

28 Jun 2026 09:42PM UTC coverage: 92.802% (+0.007%) from 92.795%
28336942568

push

github

web-flow
Support configuring nailgun server jar and add support for java agent implemention (#23405)

Nailgun is deprecated and will not work for Java versions past 17.
This is because the SecurityManager API has been deprecated
and removed from recent Java versions, which is used for a
fundamental mechanism in Nailgun to avoid exiting the server
when user code exits.

Some previous mentions on this issue:
https://github.com/pantsbuild/pants/issues/20603
https://github.com/pantsbuild/pants/issues/22580
https://github.com/pantsbuild/pants/pull/22533

I went ahead and forked Nailgun over at
https://github.com/soundtrackyourbrand/nailgun and reworked
the deprecated mechanism which adds support for all modern
Java versions without requiring any structural changes to the
client side in Pants. The fork uses a light weight Java Agent that
rewrites the bytecode to trap exit calls, which allows removing
all use of the SecurityManager.

However, instead of just swapping over, it would make sense to be able
to test it out for a while. So I've suggested adding some options here
to make it configurable which nailgun-server to use. It also includes an
option to run a Java Agent with the nailgun server which is required for
the fixed implementation of nailgun itself.

I've made the fork public, but it's only on GitHub packages at the
moment. To make use of it in Pants there is some configuration needed
```
[jvm]
nailgun_enable_agent = true
nailgun_group = "com.soundtrackyourbrand"
nailgun_artifact = "nailgun-server"
nailgun_version = "1.1.0"
nailgun_main_class = "com.facebook.nailgun.NGServer"
nailgun_sha256 = "8c70e8a81189833aff8e4c1595f60d3cd"
nailgun_size = 203910

[coursier]
repos = [
  ...
  "https://maven.pkg.github.com/soundtrackyourbrand/nailgun",
]
```

If it turns out looking good I'm thinking it could be published to Maven
Central and be more of a default replacement.

64 of 65 new or added lines in 3 files covered. (98.46%)

93261 of 100495 relevant lines covered (92.8%)

3.69 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
94.26
-0.4% src/python/pants/jvm/jdk_rules.py
Jobs
ID Job ID Ran Files Coverage
1 test_python_linux_x86_64_0/10 - 28336942568.1 28 Jun 2026 10:05PM UTC 1224
56.16
GitHub Action Run
2 test_python_linux_x86_64_6/10 - 28336942568.2 28 Jun 2026 10:02PM UTC 1200
49.46
GitHub Action Run
3 test_python_linux_x86_64_5/10 - 28336942568.3 28 Jun 2026 10:03PM UTC 1221
59.18
GitHub Action Run
4 test_python_linux_x86_64_4/10 - 28336942568.4 28 Jun 2026 10:10PM UTC 1239
59.01
GitHub Action Run
5 test_python_linux_x86_64_7/10 - 28336942568.5 28 Jun 2026 10:08PM UTC 1210
50.99
GitHub Action Run
6 test_python_linux_arm64 - 28336942568.6 28 Jun 2026 10:01PM UTC 1188
51.95
GitHub Action Run
7 test_python_linux_x86_64_9/10 - 28336942568.7 28 Jun 2026 10:04PM UTC 1216
53.62
GitHub Action Run
8 test_python_linux_x86_64_2/10 - 28336942568.8 28 Jun 2026 10:02PM UTC 1209
58.54
GitHub Action Run
9 test_python_linux_x86_64_1/10 - 28336942568.9 28 Jun 2026 10:04PM UTC 1204
49.21
GitHub Action Run
10 test_python_linux_x86_64_3/10 - 28336942568.10 28 Jun 2026 10:06PM UTC 1206
53.68
GitHub Action Run
11 test_python_linux_x86_64_8/10 - 28336942568.11 28 Jun 2026 10:07PM UTC 1207
52.97
GitHub Action Run
Source Files on build 28336942568
  • Tree
  • List 1758
  • Changed 5
  • Source Changed 2
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28336942568
  • f1bc837b on github
  • Prev Build on main (#28296853179)
  • Next Build on main (#28345096986)
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