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

pantsbuild / pants / 28692728896
93%

Build:
DEFAULT BRANCH: main
Ran 04 Jul 2026 03:12AM UTC
Jobs 11
Files 1766
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

04 Jul 2026 02:54AM UTC coverage: 92.83% (-0.001%) from 92.831%
28692728896

push

github

web-flow
Permit vfork fast-path within local `execute_process` (#23466)

Replaces use of `tokio::process::Command::pre_exec()` to establish a new
process group for the spawned child instead with
`tokio::proces::Command::process_group()`, as the former requires a
"slow" `fork -> (pre_exec closures)* -> exec` codepath, and the latter
permits a `vfork -> exec`-based fast-path.

This improves local build performance relative to both the resident set
size that the Pants process builds up (i.e. through in-memory caching of
rule results), and to the number of processes spawned through
`execute_process()`.

The "slow" path translates to underlying `clone()` syscalls without the
`CLONE_VFORK|CLONE_VM` flags, which suffer latency relative to the
parent process resident set size due to duplication of page tables for
the child, a cost which can become considerable for parent processes
(i.e., `pants`) that have allocated significant memory (e.g., cached
rule results), and can become meaningful for local Pants builds spawning
many processes.

This change permits the runtime to take the "fast" `vfork`-based path
(using `clone()` with `CLONE_VFORK|CLONE_VM`), which has ~constant
latency irrespective of parent memory allocation. "Permits", because
this code change alone does not ensure the fast path is taken;
minimally, the environment must also supply a glibc v2.29+, the earliest
version providing another required ingredient for taking the `vfork`
fast path (`posix_spawn_file_actions_addchdir_np()`).

93795 of 101040 relevant lines covered (92.83%)

3.7 hits per line

Coverage Regressions

Lines Coverage ∆ File
1
96.15
-3.85% src/python/pants/backend/tools/preamble/subsystem.py
Jobs
ID Job ID Ran Files Coverage
1 test_python_linux_x86_64_3/10 - 28692728896.1 04 Jul 2026 03:18AM UTC 1209
53.57
GitHub Action Run
2 test_python_linux_x86_64_4/10 - 28692728896.2 04 Jul 2026 03:20AM UTC 1241
58.89
GitHub Action Run
3 test_python_linux_x86_64_9/10 - 28692728896.3 04 Jul 2026 03:16AM UTC 1218
53.78
GitHub Action Run
4 test_python_linux_x86_64_0/10 - 28692728896.4 04 Jul 2026 03:18AM UTC 1231
57.29
GitHub Action Run
5 test_python_linux_x86_64_7/10 - 28692728896.5 04 Jul 2026 03:20AM UTC 1212
50.77
GitHub Action Run
6 test_python_linux_x86_64_1/10 - 28692728896.6 04 Jul 2026 03:17AM UTC 1207
48.8
GitHub Action Run
7 test_python_linux_x86_64_6/10 - 28692728896.7 04 Jul 2026 03:14AM UTC 1202
49.27
GitHub Action Run
8 test_python_linux_x86_64_8/10 - 28692728896.8 04 Jul 2026 03:18AM UTC 1210
52.78
GitHub Action Run
9 test_python_linux_x86_64_5/10 - 28692728896.9 04 Jul 2026 03:15AM UTC 1224
59.93
GitHub Action Run
10 test_python_linux_x86_64_2/10 - 28692728896.10 04 Jul 2026 03:15AM UTC 1211
58.58
GitHub Action Run
11 test_python_linux_arm64 - 28692728896.11 04 Jul 2026 03:12AM UTC 1190
51.76
GitHub Action Run
Source Files on build 28692728896
  • Tree
  • List 1766
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28692728896
  • 383a73cc on github
  • Prev Build on main (#28680877405)
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