cut CI runtime
Author: dogancanbakirCreated Sep 30, 2026Updated Sep 30, 2026
LabelsType: Maintenance
CI takes about an hour. Critical path is lint -> tests (18m55s) -> integration (45m10s windows).
Measured on #7800:
| job | ubuntu | macOS | windows |
|---|---|---|---|
| Integration | 9m52s | 11m38s | 45m10s |
| Tests | 18m55s | 14m51s | 17m45s |
| Functional | 9m58s | 8m56s | 16m41s |
| Release test | 23m53s |
ubuntu integration is already under 10m, so this is a windows problem, not a suite problem. The suite spawns ~175 nuclei processes against a ~200MB binary.
Ruled out by measurement:
- fuzz ~8.1s/case and headless ~6.8s/case; those 28 cases outweigh the other 147. javascript is ~0.15s/case.
- Harness setup is ~19s per
go testrun, paid once. - Raising
PARALLELISMis worse: fuzz 137s at 4, 294s at 12. Each spawned nuclei is itself concurrent. -no-interactshon cases that do not need it: no measurable saving.- Running in process instead of spawning: ~8% on macOS, and breaks cases that then share process state.
Source: projectdiscovery/nuclei