Parcourir la source

Cross platform solution to getting amount of cpu cores

Logan Stucki il y a 9 ans
Parent
révision
bb2c32f7b3
Aucun compte lié à l'adresse email de l'auteur
1 fichiers modifiés avec 11 ajouts et 2 suppressions
  1. 11
    2
      bin/journey-test.sh

+ 11
- 2
bin/journey-test.sh Voir le fichier

5
 TRACK=java
5
 TRACK=java
6
 TRACK_REPO="$TRACK"
6
 TRACK_REPO="$TRACK"
7
 TRACK_SRC_EXT="java"
7
 TRACK_SRC_EXT="java"
8
+CPU_CORES=`getconf NPROCESSORS_ONLN 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1`
8
 
9
 
9
 on_exit() {
10
 on_exit() {
10
   echo ">>> on_exit()"
11
   echo ">>> on_exit()"
98
   esac
99
   esac
99
 }
100
 }
100
 
101
 
102
+get_optimal_amount_of_jobs() {
103
+  if [ "$CPU_CORES" -gt "1" ]; then 
104
+    echo $((CPU_CORES-1))
105
+  else 
106
+    echo 1 
107
+  fi
108
+}
109
+
101
 download_exercism_cli() {
110
 download_exercism_cli() {
102
   local os="$1"
111
   local os="$1"
103
   local arch="$2"
112
   local arch="$2"
164
   cp -r ${track_root}/exercises tracks/${TRACK}
173
   cp -r ${track_root}/exercises tracks/${TRACK}
165
 
174
 
166
   gem install bundler
175
   gem install bundler
167
-  bundle install --jobs $((`nproc --all`-1))
176
+  bundle install --jobs $(get_optimal_amount_of_jobs)
168
   gem build trackler.gemspec
177
   gem build trackler.gemspec
169
 
178
 
170
   # Make *this* the gem that x-api uses when we build x-api.
179
   # Make *this* the gem that x-api uses when we build x-api.
181
   pushd $xapi_home
190
   pushd $xapi_home
182
 
191
 
183
   gem install bundler
192
   gem install bundler
184
-  bundle install --jobs $((`nproc --all`-1))
193
+  bundle install --jobs $(get_optimal_amount_of_jobs) 
185
   RACK_ENV=development rackup &
194
   RACK_ENV=development rackup &
186
   xapi_pid=$!
195
   xapi_pid=$!
187
   sleep 5
196
   sleep 5