This project tries to find a safe cross-platform way of determining how many physical CPUs there are available in a CI environment. The intention is to use this in Jest to automatically select the most performant amount of workers to spawn
Results from running on different CIs are:
| CI | cpus().length |
physical-cpu-count |
manual with nproc/sysctl/env |
actual |
|---|---|---|---|---|
| travis (linux) | 32 💥 | 16 💥 | 2 ✅ | 2 |
| travis (mac) | 2 ✅ | 2 ✅ | 2 ✅ | 2 |
| travis (windows) | 2 ✅ | 1 💥 | 2 ✅ | 2 |
| Circle | 32 💥 | 16 💥 | 32 💥 | 2 |
| Appveyor | 2 ✅ | 1 💥 | 2 ✅ | 2 |
| GitHub Actions (linux) | 2 ✅ | 2 ✅ | 2 ✅ | 2 |
| GitHub Actions (mac) | 4 ✅ | 4 ✅ | 4 ✅ | 4 |
| GitHub Actions (windows) | 2 ✅ | 1 💥 | 2 ✅ | 2 |
| Axure Pipelines (linux) | 2 ✅ | 2 ✅ | 2 ✅ | 2 |
| Axure Pipelines (mac) | 4 ✅ | 4 ✅ | 4 ✅ | 4 |
| Axure Pipelines (windows) | 2 ✅ | 1 💥 | 2 ✅ | 2 |