mirror of
https://github.com/ruby/setup-ruby.git
synced 2026-09-13 14:34:21 +02:00
Scale bundler install jobs with CPU count up to 8
The number of jobs should scale with the runner CPU count, up to a point. The bottleneck becomes network / disk I/O at very large numbers, and 8 seems like a reasonable maximum based on my experience at this time.
This commit is contained in:
committed by
Benoit Daloze
parent
4ff6f3611a
commit
a96ff531da
+4
-1
@@ -13,6 +13,7 @@ __nccwpck_require__.r(__webpack_exports__);
|
||||
/* harmony export */ installBundler: () => (/* binding */ installBundler)
|
||||
/* harmony export */ });
|
||||
const fs = __nccwpck_require__(9896)
|
||||
const os = __nccwpck_require__(857)
|
||||
const path = __nccwpck_require__(6928)
|
||||
const core = __nccwpck_require__(7484)
|
||||
const exec = __nccwpck_require__(5236)
|
||||
@@ -207,8 +208,10 @@ async function bundleInstall(gemfile, lockFile, platform, engine, rubyVersion, b
|
||||
console.log(`Found cache for key: ${cachedKey}`)
|
||||
}
|
||||
|
||||
// Number of jobs should scale with runner, up to a point
|
||||
const jobs = Math.min(os.cpus().length, 8)
|
||||
// Always run 'bundle install' to list the gems
|
||||
await exec.exec('bundle', ['install', '--jobs', '4'])
|
||||
await exec.exec('bundle', ['install', '--jobs', jobs])
|
||||
|
||||
// @actions/cache only allows to save for non-existing keys
|
||||
if (!common.isExactCacheKeyMatch(key, cachedKey)) {
|
||||
|
||||
Reference in New Issue
Block a user